Class DataStreamSupporter

Class DataStreamSupporter

Namespace: Aspose.Imaging
Assembly: Aspose.Imaging.dll (25.2.0)

ظرف داده‌های جریان.

[JsonObject(MemberSerialization.OptIn)]
public abstract class DataStreamSupporter : DisposableObject, IDisposable

وراثت

objectDisposableObjectDataStreamSupporter

مشتق‌شده

Image

پیاده‌سازی‌ها

IDisposable

اعضای ارثی

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

مقدار فیلد

int

ویژگی‌ها

DataStreamContainer

جریان داده شی را دریافت می‌کند.

public StreamContainer DataStreamContainer { get; }

مقدار ویژگی

StreamContainer

IsCached

مقداری را دریافت می‌کند که نشان می‌دهد آیا داده‌های شی در حال حاضر کش شده‌اند و نیازی به خواندن داده نیست.

public abstract bool IsCached { get; }

مقدار ویژگی

bool

متدها

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

جریانی که داده‌ها باید در آن ذخیره شود.

 فارسی