Class DataStreamSupporter

Class DataStreamSupporter

Namespace: Aspose.Imaging
Assembly: Aspose.Imaging.dll (25.2.0)

Wadah aliran data.

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

Pewarisan

objectDisposableObjectDataStreamSupporter

Turunan

Image

Mengimplementasikan

IDisposable

Anggota yang Dwarisi

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

Konstruktor

DataStreamSupporter()

Menginisialisasi instance baru dari kelas Aspose.Imaging.DataStreamSupporter.

[JsonConstructor]
protected DataStreamSupporter()

Field

timeout

Waktu tunggu untuk menunggu sinkronisasi

[JsonProperty]
protected int timeout

Nilai Field

int

Properti

DataStreamContainer

Mendapatkan aliran data objek.

public StreamContainer DataStreamContainer { get; }

Nilai Properti

StreamContainer

IsCached

Mendapatkan nilai yang menunjukkan apakah data objek saat ini di-cache dan tidak ada pembacaan data yang diperlukan.

public abstract bool IsCached { get; }

Nilai Properti

bool

Metode

CacheData()

Menyimpan data dalam cache dan memastikan tidak ada pemuatan data tambahan yang akan dilakukan dari Aspose.Imaging.DataStreamSupporter.DataStreamContainer yang mendasarinya.

public abstract void CacheData()

Contoh

Contoh berikut menunjukkan bagaimana caching gambar mempengaruhi kinerja. Dalam kasus umum, membaca data yang di-cache dilakukan lebih cepat daripada membaca data yang tidak di-cache.```csharp [C#]

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

                                                                                                                                                                // Memuat gambar dari file PNG.
                                                                                                                                                                using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.png"))
                                                                                                                                                                {
                                                                                                                                                                    // Cache semua data piksel sehingga tidak ada pemuatan data tambahan yang akan dilakukan dari aliran data yang mendasarinya
                                                                                                                                                                    image.CacheData();

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

                                                                                                                                                                    // Membaca semua piksel cukup cepat.
                                                                                                                                                                    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("Membaca semua piksel yang di-cache memakan waktu {0} ms.", stopwatch.ElapsedMilliseconds);
                                                                                                                                                                }

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

                                                                                                                                                                    // Membaca semua piksel tidak secepat saat 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("Membaca semua piksel tanpa caching awal memakan waktu {0} ms.", stopwatch.ElapsedMilliseconds);
                                                                                                                                                                }

                                                                                                                                                                // Output mungkin terlihat seperti ini:
                                                                                                                                                                // Membaca semua piksel yang di-cache memakan waktu 1500 ms.
                                                                                                                                                                // Membaca semua piksel tanpa caching awal memakan waktu 150000 ms.

### <a id="Aspose_Imaging_DataStreamSupporter_OnDataStreamContainerChanging_Aspose_Imaging_StreamContainer_"></a> OnDataStreamContainerChanging\(StreamContainer\)

Dipanggil saat wadah aliran data sedang berubah.

```csharp
protected virtual void OnDataStreamContainerChanging(StreamContainer streamContainer)

Parameter

streamContainer StreamContainer

Wadah aliran.

ReleaseManagedResources()

Melepaskan sumber daya yang dikelola. Pastikan tidak ada sumber daya tidak dikelola yang dilepaskan di sini, karena mungkin sudah dilepaskan.

protected override void ReleaseManagedResources()

Save()

Menyimpan data objek ke Aspose.Imaging.DataStreamSupporter saat ini.

public virtual void Save()

Save(Stream)

Menyimpan data objek ke aliran yang ditentukan.

public void Save(Stream stream)

Parameter

stream Stream

Aliran untuk menyimpan data objek ke.

Save(string)

Menyimpan data objek ke lokasi file yang ditentukan.

public virtual void Save(string filePath)

Parameter

filePath string

Jalur file untuk menyimpan data objek ke.

Save(string, bool)

Menyimpan data objek ke lokasi file yang ditentukan.

public virtual void Save(string filePath, bool overWrite)

Parameter

filePath string

Jalur file untuk menyimpan data objek ke.

overWrite bool

jika diatur ke ```cstrue menggantikan isi file, jika tidak penambahan akan terjadi.

SaveData(Stream)

Menyimpan data.

protected abstract void SaveData(Stream stream)

Parameter

stream Stream

Aliran untuk menyimpan data ke.

 Indonesia