Class DataStreamSupporter

Class DataStreamSupporter

Il nome: Aspose.Imaging Assemblea: Aspose.Imaging.dll (25.4.0)

Il contenitore dei dati.

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

Inheritance

object DisposableObject DataStreamSupporter

Derived

Image

Implements

IDisposable

I membri ereditari

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

Inizia una nuova instanza della classe Aspose.Imaging.DataStreamSupporter.

[JsonConstructor]
protected DataStreamSupporter()

Fields

Il tempo

Il tempo per aspettare la sincronizzazione

[JsonProperty]
protected int timeout

Valore di campo

int

Properties

DataStreamContainer

Riceve il flusso di dati dell’oggetto.

public StreamContainer DataStreamContainer { get; }

Valore di proprietà

StreamContainer

IsCached

Riceve un valore che indica se i dati dell’oggetto sono cache attualmente e non è necessario leggere i dati.

public abstract bool IsCached { get; }

Valore di proprietà

bool

Methods

CacheData()

Cache i dati e assicura che nessun ulteriore carico di dati sarà effettuato dal sottostante Aspose.Imaging.DataStreamSupporter.

public abstract void CacheData()

Examples

L’esempio seguente mostra come il caching immagine influisce sul rendimento.In generale, la lettura dei dati cache viene eseguita più velocemente di quella di non-caching dati.

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)

Si chiama quando il contenitore del flusso di dati sta cambiando.

protected virtual void OnDataStreamContainerChanging(StreamContainer streamContainer)

Parameters

streamContainer StreamContainer

Il contenitore di flusso.

ReleaseManagedResources()

Assicurati di non rilasciare risorse non gestite qui, poiché potrebbero essere già state rilasciate.

protected override void ReleaseManagedResources()

Save()

Salva i dati dell’oggetto all’attuale Aspose.Imaging.DataStreamSupporter.

public virtual void Save()

Save(Stream)

Salva i dati dell’oggetto al flusso specificato.

public void Save(Stream stream)

Parameters

stream Stream

Il flusso per salvare i dati dell’oggetto.

Save(String)

Salva i dati dell’oggetto alla posizione del file specificato.

public virtual void Save(string filePath)

Parameters

filePath string

Il percorso di file per salvare i dati dell’oggetto.

Save(String e Bool)

Salva i dati dell’oggetto alla posizione del file specificato.

public virtual void Save(string filePath, bool overWrite)

Parameters

filePath string

Il percorso di file per salvare i dati dell’oggetto.

overWrite bool

se si impone a “true” per scrivere il contenuto del file, altrimenti si verificherà l’aggiunta.

SaveData(Stream)

Salva i dati.

protected abstract void SaveData(Stream stream)

Parameters

stream Stream

Il flusso per salvare i dati.

 Italiano