Class DataStreamSupporter

Class DataStreamSupporter

Nama dari : Aspose.Imaging Pengumpulan: Aspose.Imaging.dll (25.4.0)

Data Stream Container.

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

Inheritance

object DisposableObject DataStreamSupporter

Derived

Image

Implements

IDisposable

anggota yang diwarisi

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

Constructors

DataStreamSupporter()

Initifikasi instansi baru dari kelas Aspose.Imaging.DataStreamSupporter.

[JsonConstructor]
protected DataStreamSupporter()

Fields

waktu keluar

Waktu untuk menunggu Synchronization

[JsonProperty]
protected int timeout

Nilai lapangan

int

Properties

DataStreamContainer

Dapatkan aliran data dari objek.

public StreamContainer DataStreamContainer { get; }

Nilai Properti

StreamContainer

IsCached

Dapatkan nilai yang menunjukkan apakah data objek disimpan saat ini dan tidak diperlukan bacaan data.

public abstract bool IsCached { get; }

Nilai Properti

bool

Methods

CacheData()

Menyembunyikan data dan memastikan tidak ada pengisian data tambahan akan dilakukan dari Aspose.Imaging.DataStreamSupporter.DataStreamContainer.

public abstract void CacheData()

Examples

Contoh berikut menunjukkan bagaimana caching gambar mempengaruhi kinerja.Secara umum, membaca data cache dilakukan lebih cepat daripada membaca data yang tidak cache.

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

                                                                                                                                                                    // Load an image from a PNG file.
                                                                                                                                                                    using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.png"))
                                                                                                                                                                    {
                                                                                                                                                                        // Cache all pixel data so that no additional data loading will be performed from the underlying data stream
                                                                                                                                                                        image.CacheData();

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

                                                                                                                                                                        // Reading all pixels is pretty fast.
                                                                                                                                                                        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("Reading all cached pixels took {0} ms.", stopwatch.ElapsedMilliseconds);
                                                                                                                                                                    }

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

                                                                                                                                                                        // Reading all pixels is not as fast as when 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("Reading all pixels without preliminary caching took {0} ms.", stopwatch.ElapsedMilliseconds);
                                                                                                                                                                    }

                                                                                                                                                                    // The output may look like this:
                                                                                                                                                                    // Reading all cached pixels took 1500 ms.
                                                                                                                                                                    // Reading all pixels without preliminary caching took 150000 ms.

OnDataStreamContainerChanging(StreamContainer)

Dikatakan ketika kontainer aliran data berubah.

protected virtual void OnDataStreamContainerChanging(StreamContainer streamContainer)

Parameters

streamContainer StreamContainer

Kontainer yang mengalir.

ReleaseManagedResources()

Pastikan tidak ada sumber daya yang tidak dikelola yang dilepaskan di sini, karena mereka 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 arus yang ditentukan.

public void Save(Stream stream)

Parameters

stream Stream

Aliran untuk menyimpan data objek ke.

Save(String)

Menyimpan data objek ke lokasi file yang ditentukan.

public virtual void Save(string filePath)

Parameters

filePath string

jalur file untuk menyimpan data objek ke.

Save(Kekuatan, Bool)

Menyimpan data objek ke lokasi file yang ditentukan.

public virtual void Save(string filePath, bool overWrite)

Parameters

filePath string

jalur file untuk menyimpan data objek ke.

overWrite bool

Jika Anda mengatur ke ‘kebenaran’ di atas menulis konten file, jika tidak ada tambahan akan terjadi.

SaveData(Stream)

Simpan data tersebut.

protected abstract void SaveData(Stream stream)

Parameters

stream Stream

Aliran untuk menyimpan data ke.

 Indonesia