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} 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

สตรีมเพื่อบันทึกข้อมูล

 แบบไทย