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

التدفق الذي سيتم حفظ البيانات فيه.

 عربي