Class DataStreamSupporter

Class DataStreamSupporter

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

Veri akışı konteyneri.

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

Miras

objectDisposableObjectDataStreamSupporter

Türetilmiş

Image

Uygulamalar

IDisposable

Miras Alınan Üyeler

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

Yapıcılar

DataStreamSupporter()

Aspose.Imaging.DataStreamSupporter sınıfının yeni bir örneğini başlatır.

[JsonConstructor]
protected DataStreamSupporter()

Alanlar

timeout

Senkranizasyon için bekleme süresi

[JsonProperty]
protected int timeout

Alan Değeri

int

Özellikler

DataStreamContainer

Nesnenin veri akışını alır.

public StreamContainer DataStreamContainer { get; }

Özellik Değeri

StreamContainer

IsCached

Nesnenin verisinin şu anda önbelleğe alınıp alınmadığını ve veri okumasına gerek olup olmadığını gösteren bir değer alır.

public abstract bool IsCached { get; }

Özellik Değeri

bool

Metotlar

CacheData()

Veriyi önbelleğe alır ve temel Aspose.Imaging.DataStreamSupporter.DataStreamContainer’dan ek veri yüklemesi yapılmayacağını garanti eder.

public abstract void CacheData()

Örnekler

Aşağıdaki örnek, resim önbelleğe almanın performansı nasıl etkilediğini gösterir. Genel durumda, önbelleğe alınmış verilerin okunması, önbelleğe alınmamış verilerin okunmasından daha hızlıdır.```csharp [C#]

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

                                                                                                                                                                // Bir PNG dosyasından bir resim yükle.
                                                                                                                                                                using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.png"))
                                                                                                                                                                {
                                                                                                                                                                    // Temel veri akışından ek veri yüklemesi yapılmayacağından tüm piksel verilerini önbelleğe al
                                                                                                                                                                    image.CacheData();

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

                                                                                                                                                                    // Tüm piksellerin okunması oldukça hızlıdır.
                                                                                                                                                                    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("Tüm önbelleğe alınmış piksellerin okunması {0} ms sürdü.", stopwatch.ElapsedMilliseconds);
                                                                                                                                                                }

                                                                                                                                                                // Bir PNG dosyasından bir resim yükle
                                                                                                                                                                using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.png"))
                                                                                                                                                                {
                                                                                                                                                                    System.Diagnostics.Stopwatch stopwatch = new System.Diagnostics.Stopwatch();
                                                                                                                                                                    stopwatch.Start();

                                                                                                                                                                    // Tüm piksellerin okunması önbelleğe alma ile olduğu kadar hızlı değildir
                                                                                                                                                                    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("Önceden önbelleğe almadan tüm piksellerin okunması {0} ms sürdü.", stopwatch.ElapsedMilliseconds);
                                                                                                                                                                }

                                                                                                                                                                // Çıktı şu şekilde görünebilir:
                                                                                                                                                                // Tüm önbelleğe alınmış piksellerin okunması 1500 ms sürdü.
                                                                                                                                                                // Önceden önbelleğe almadan tüm piksellerin okunması 150000 ms sürdü.

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

Veri akış konteyneri değiştiğinde çağrılır.

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

Parametreler

streamContainer StreamContainer

Akış konteyneri.

ReleaseManagedResources()

Yönetilen kaynakları serbest bırakır. Burada yönetilmeyen kaynakların serbest bırakılmadığından emin olun, çünkü bunlar zaten serbest bırakılmış olabilir.

protected override void ReleaseManagedResources()

Save()

Nesnenin verilerini mevcut Aspose.Imaging.DataStreamSupporter’a kaydeder.

public virtual void Save()

Save(Stream)

Nesnenin verilerini belirtilen akışa kaydeder.

public void Save(Stream stream)

Parametreler

stream Stream

Nesnenin verilerini kaydetmek için kullanılan akış.

Save(string)

Nesnenin verilerini belirtilen dosya konumuna kaydeder.

public virtual void Save(string filePath)

Parametreler

filePath string

Nesnenin verilerini kaydetmek için kullanılan dosya yolu.

Save(string, bool)

Nesnenin verilerini belirtilen dosya konumuna kaydeder.

public virtual void Save(string filePath, bool overWrite)

Parametreler

filePath string

Nesnenin verilerini kaydetmek için kullanılan dosya yolu.

overWrite bool

Eğer ```cstrue olarak ayarlandıysa, dosya içeriğini üzerine yazar, aksi takdirde ekleme yapılır.

SaveData(Stream)

Verileri kaydeder.

protected abstract void SaveData(Stream stream)

Parametreler

stream Stream

Verileri kaydetmek için kullanılan akış.

 Türkçe