Class DataStreamSupporter
Namespace: Aspose.Imaging
Assembly: Aspose.Imaging.dll (25.2.0)
ظرف دادههای جریان.
[JsonObject(MemberSerialization.OptIn)]
public abstract class DataStreamSupporter : DisposableObject, IDisposable
وراثت
object ← DisposableObject ← DataStreamSupporter
مشتقشده
پیادهسازیها
اعضای ارثی
DisposableObject.Dispose(), DisposableObject.ReleaseManagedResources(), DisposableObject.ReleaseUnmanagedResources(), DisposableObject.VerifyNotDisposed(), DisposableObject.Disposed, object.GetType(), object.MemberwiseClone(), object.ToString(), object.Equals(object?), object.Equals(object?, object?), object.ReferenceEquals(object?, object?), object.GetHashCode()
سازندهها
DataStreamSupporter()
یک نمونه جدید از کلاس Aspose.Imaging.DataStreamSupporter را راهاندازی میکند.
[JsonConstructor]
protected DataStreamSupporter()
فیلدها
timeout
زمانی که برای همگامسازی منتظر میماند.
[JsonProperty]
protected int timeout
مقدار فیلد
ویژگیها
DataStreamContainer
جریان داده شی را دریافت میکند.
public StreamContainer DataStreamContainer { get; }
مقدار ویژگی
IsCached
مقداری را دریافت میکند که نشان میدهد آیا دادههای شی در حال حاضر کش شدهاند و نیازی به خواندن داده نیست.
public abstract bool IsCached { get; }
مقدار ویژگی
متدها
CacheData()
دادهها را کش میکند و اطمینان حاصل میکند که هیچ بارگذاری داده اضافی از Aspose.Imaging.DataStreamSupporter.DataStreamContainer زیرین انجام نخواهد شد.
public abstract void CacheData()
مثالها
مثال زیر نشان میدهد که چگونه کش کردن تصویر بر عملکرد تأثیر میگذارد. در حالت کلی، خواندن دادههای کش شده سریعتر از خواندن دادههای غیرکش شده انجام میشود.```csharp [C#]
string dir = "c:\\temp\\";
// بارگذاری یک تصویر از یک فایل PNG.
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.png"))
{
// کش کردن تمام دادههای پیکسل تا هیچ بارگذاری داده اضافی از جریان داده زیرین انجام نشود.
image.CacheData();
System.Diagnostics.Stopwatch stopwatch = new System.Diagnostics.Stopwatch();
stopwatch.Start();
// خواندن تمام پیکسلها بسیار سریع است.
Aspose.Imaging.RasterImage rasterImage = (Aspose.Imaging.RasterImage)image;
for (int y = 0; y < image.Height; y++)
{
for (int x = 0; x < image.Width; x++)
{
int color = rasterImage.GetArgb32Pixel(x, y);
}
}
stopwatch.Stop();
System.Console.WriteLine("خواندن تمام پیکسلهای کش شده {0} میلیثانیه طول کشید.", stopwatch.ElapsedMilliseconds);
}
// بارگذاری یک تصویر از یک فایل PNG
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.png"))
{
System.Diagnostics.Stopwatch stopwatch = new System.Diagnostics.Stopwatch();
stopwatch.Start();
// خواندن تمام پیکسلها به سرعت کش کردن نیست
Aspose.Imaging.RasterImage rasterImage = (Aspose.Imaging.RasterImage)image;
for (int y = 0; y < image.Height; y++)
{
for (int x = 0; x < image.Width; x++)
{
int color = rasterImage.GetArgb32Pixel(x, y);
}
}
stopwatch.Stop();
System.Console.WriteLine("خواندن تمام پیکسلها بدون کش کردن اولیه {0} میلیثانیه طول کشید.", stopwatch.ElapsedMilliseconds);
}
// خروجی ممکن است به این شکل باشد:
// خواندن تمام پیکسلهای کش شده 1500 میلیثانیه طول کشید.
// خواندن تمام پیکسلها بدون کش کردن اولیه 150000 میلیثانیه طول کشید.
### <a id="Aspose_Imaging_DataStreamSupporter_OnDataStreamContainerChanging_Aspose_Imaging_StreamContainer_"></a> OnDataStreamContainerChanging\(StreamContainer\)
زمانی که ظرف جریان داده در حال تغییر است، فراخوانی میشود.
```csharp
protected virtual void OnDataStreamContainerChanging(StreamContainer streamContainer)
پارامترها
streamContainer
StreamContainer
ظرف جریان.
ReleaseManagedResources()
منابع مدیریت شده را آزاد میکند. اطمینان حاصل کنید که هیچ منبع غیرمدیریت شدهای در اینجا آزاد نمیشود، زیرا ممکن است قبلاً آزاد شده باشند.
protected override void ReleaseManagedResources()
Save()
دادههای شی را به Aspose.Imaging.DataStreamSupporter فعلی ذخیره میکند.
public virtual void Save()
Save(Stream)
دادههای شی را به جریان مشخص شده ذخیره میکند.
public void Save(Stream stream)
پارامترها
stream
Stream
جریانی که دادههای شی باید در آن ذخیره شود.
Save(string)
دادههای شی را به مکان فایل مشخص شده ذخیره میکند.
public virtual void Save(string filePath)
پارامترها
filePath
string
مسیر فایل برای ذخیره دادههای شی.
Save(string, bool)
دادههای شی را به مکان فایل مشخص شده ذخیره میکند.
public virtual void Save(string filePath, bool overWrite)
پارامترها
filePath
string
مسیر فایل برای ذخیره دادههای شی.
overWrite
bool
اگر به ```cstrue تنظیم شود، محتویات فایل بازنویسی میشود، در غیر این صورت، به آن افزوده خواهد شد.
SaveData(Stream)
دادهها را ذخیره میکند.
protected abstract void SaveData(Stream stream)
پارامترها
stream
Stream
جریانی که دادهها باید در آن ذخیره شود.