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
التدفق الذي سيتم حفظ البيانات فيه.