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} ms.", 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} ms.", stopwatch.ElapsedMilliseconds);
}
// ผลลัพธ์อาจมีลักษณะดังนี้:
// การอ่านพิกเซลทั้งหมดในแคชใช้เวลา 1500 ms.
// การอ่านพิกเซลทั้งหมดโดยไม่มีการเก็บข้อมูลในแคชใช้เวลา 150000 ms.
### <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
สตรีมเพื่อบันทึกข้อมูล