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
object ← DisposableObject ← DataStreamSupporter
Turunan
Mengimplementasikan
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
Properti
DataStreamContainer
Mendapatkan aliran data objek.
public StreamContainer DataStreamContainer { get; }
Nilai Properti
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
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.