Class DataStreamSupporter

Class DataStreamSupporter

اسم الفضاء : Aspose.Imaging تجميع: Aspose.Imaging.dll (25.4.0)

بيانات تدفق الحاويات.

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

Inheritance

object DisposableObject DataStreamSupporter

Derived

Image

Implements

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()

Constructors

DataStreamSupporter()

يبدأ مثالًا جديدًا من فئة Aspose.Imaging.DataStreamSupporter.

[JsonConstructor]
protected DataStreamSupporter()

Fields

TimeOut

الوقت المناسب للانتظار للمزامنة

[JsonProperty]
protected int timeout

القيمة الميدانية

int

Properties

DataStreamContainer

يحصل على تدفق بيانات الكائن.

public StreamContainer DataStreamContainer { get; }

قيمة الممتلكات

StreamContainer

IsCached

يحصل على قيمة تشير إلى ما إذا كانت بيانات الكائن مخفية حاليا ولا يتطلب قراءة البيانات.

public abstract bool IsCached { get; }

قيمة الممتلكات

bool

Methods

CacheData()

يختبئ البيانات ويضمن عدم إجراء أي تحميل إضافي للبيانات من Aspose.Imaging.DataStreamSupporter.DataStreamContainer.

public abstract void CacheData()

Examples

يظهر المثال التالي كيف يؤثر تسجيل الصور على الأداء.في الحالة العامة، يتم قراءة البيانات المسجلة بشكل أسرع من قراءة البيانات غير المسجلة.

string dir = "c:\\temp\\";

                                                                                                                                                                    // Load an image from a PNG file.
                                                                                                                                                                    using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.png"))
                                                                                                                                                                    {
                                                                                                                                                                        // Cache all pixel data so that no additional data loading will be performed from the underlying data stream
                                                                                                                                                                        image.CacheData();

                                                                                                                                                                        System.Diagnostics.Stopwatch stopwatch = new System.Diagnostics.Stopwatch();
                                                                                                                                                                        stopwatch.Start();

                                                                                                                                                                        // Reading all pixels is pretty fast.
                                                                                                                                                                        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("Reading all cached pixels took {0} ms.", stopwatch.ElapsedMilliseconds);
                                                                                                                                                                    }

                                                                                                                                                                    // Load an image from a PNG file
                                                                                                                                                                    using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.png"))
                                                                                                                                                                    {
                                                                                                                                                                        System.Diagnostics.Stopwatch stopwatch = new System.Diagnostics.Stopwatch();
                                                                                                                                                                        stopwatch.Start();

                                                                                                                                                                        // Reading all pixels is not as fast as when caching
                                                                                                                                                                        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("Reading all pixels without preliminary caching took {0} ms.", stopwatch.ElapsedMilliseconds);
                                                                                                                                                                    }

                                                                                                                                                                    // The output may look like this:
                                                                                                                                                                    // Reading all cached pixels took 1500 ms.
                                                                                                                                                                    // Reading all pixels without preliminary caching took 150000 ms.

OnDataStreamContainerChanging(StreamContainer)

يسمى عندما يتغير حاوية تدفق البيانات.

protected virtual void OnDataStreamContainerChanging(StreamContainer streamContainer)

Parameters

streamContainer StreamContainer

حاوية التدفق .

ReleaseManagedResources()

تأكد من عدم إطلاق الموارد غير المعالجة هنا، لأنها قد تكون قد تم إطلاقها بالفعل.

protected override void ReleaseManagedResources()

Save()

تخزين بيانات الكائن إلى Aspose.Imaging.DataStreamSupporter الحالي.

public virtual void Save()

Save(Stream)

تخزين بيانات الكائن إلى التدفق المحدد.

public void Save(Stream stream)

Parameters

stream Stream

تدفق لتخزين بيانات الكائن إلى.

Save(الستار)

تخزين بيانات الكائن إلى موقع الملف المحدد.

public virtual void Save(string filePath)

Parameters

filePath string

مسار الملف لتخزين بيانات الكائن إلى.

Save(البول، البول)

تخزين بيانات الكائن إلى موقع الملف المحدد.

public virtual void Save(string filePath, bool overWrite)

Parameters

filePath string

مسار الملف لتخزين بيانات الكائن إلى.

overWrite bool

إذا قمت بتعيين “الحقيقة” على كتابة محتوى الملف، وإلا فإن الإضافات سوف تحدث.

SaveData(Stream)

تخزين البيانات

protected abstract void SaveData(Stream stream)

Parameters

stream Stream

تدفق لتخزين البيانات.

 عربي