Class DataStreamSupporter

Class DataStreamSupporter

Numele spaţiului: Aspose.Imaging Asamblare: Aspose.Imaging.dll (25.4.0)

Containerul de date flux.

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

Inheritance

object DisposableObject DataStreamSupporter

Derived

Image

Implements

IDisposable

Membrii moștenitori

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

Inițializează o nouă instanță a clasei Aspose.Imaging.DataStreamSupporter.

[JsonConstructor]
protected DataStreamSupporter()

Fields

Timpul

Timpul de a aștepta pentru sincronizare

[JsonProperty]
protected int timeout

Valoarea câmpului

int

Properties

DataStreamContainer

Obține fluxul de date al obiectului.

public StreamContainer DataStreamContainer { get; }

Valoarea proprietății

StreamContainer

IsCached

Obține o valoare care indică dacă datele obiectului sunt cache în prezent și nu este necesară citirea datelor.

public abstract bool IsCached { get; }

Valoarea proprietății

bool

Methods

CacheData()

Se ascunde datele și se asigură că nu vor fi efectuate încărcări suplimentare de date de la Aspose.Imaging.DataStreamSupporter.

public abstract void CacheData()

Examples

Următorul exemplu arată modul în care caching-ul imaginii afectează performanța. în general, citirea datelor cache este efectuată mai repede decât citirea datelor non-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)

Se numește atunci când se schimbă containerul de date.

protected virtual void OnDataStreamContainerChanging(StreamContainer streamContainer)

Parameters

streamContainer StreamContainer

Containerul de flux.

ReleaseManagedResources()

Asigurați-vă că resursele necontrolate nu sunt eliberate aici, deoarece acestea pot fi deja eliberate.

protected override void ReleaseManagedResources()

Save()

Salvează datele obiectului la actualul Aspose.Imaging.DataStreamSupporter.

public virtual void Save()

Save(Stream)

Salvează datele obiectului în fluxul specificat.

public void Save(Stream stream)

Parameters

stream Stream

Fluxul pentru a salva datele obiectului la.

Save(Strângere)

Salvează datele obiectului la locația specificată a fișierului.

public virtual void Save(string filePath)

Parameters

filePath string

Calea de fișier pentru a salva datele obiectului la.

Save(Cuvânt cheie, bool)

Salvează datele obiectului la locația specificată a fișierului.

public virtual void Save(string filePath, bool overWrite)

Parameters

filePath string

Calea de fișier pentru a salva datele obiectului la.

overWrite bool

în cazul în care este setat la “true” peste a scrie conținutul fișierului, în caz contrar se va întâmpla adăugarea.

SaveData(Stream)

salvează datele.

protected abstract void SaveData(Stream stream)

Parameters

stream Stream

Stream pentru a salva datele la.

 Română