Class DataStreamSupporter

Class DataStreamSupporter

Nom dels espais: Aspose.Imaging Assemblea: Aspose.Imaging.dll (25.4.0)

El contenidor de flux de dades.

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

Inheritance

object DisposableObject DataStreamSupporter

Derived

Image

Implements

IDisposable

Membres heretats

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

Inicia una nova instància de la classe Aspose.Imaging.DataStreamSupporter.

[JsonConstructor]
protected DataStreamSupporter()

Fields

Temps de sortida

El temps d’espera per la sincronització

[JsonProperty]
protected int timeout

Valor de camp

int

Properties

DataStreamContainer

Obtenir el flux de dades de l’objecte.

public StreamContainer DataStreamContainer { get; }

Valor de la propietat

StreamContainer

IsCached

Obté un valor que indica si les dades de l’objecte estan cajades actualment i no es requereix cap lectura de dades.

public abstract bool IsCached { get; }

Valor de la propietat

bool

Methods

CacheData()

Cache les dades i assegura que no es realitzarà cap càrrega de dades addicionals des del subjecte Aspose.Imaging.DataStreamSupporter.

public abstract void CacheData()

Examples

L’exemple següent mostra com el caching d’imatge afecta el rendiment.En general, la lectura de dades cache es realitza més ràpid que la llegència de les dades no caixades.

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)

Anomenat quan el contenidor de flux de dades està canviant.

protected virtual void OnDataStreamContainerChanging(StreamContainer streamContainer)

Parameters

streamContainer StreamContainer

El contenidor de flux.

ReleaseManagedResources()

Assegureu-vos que no es lliuren recursos no gestionats aquí, ja que poden haver estat ja alliberats.

protected override void ReleaseManagedResources()

Save()

Salva les dades de l’objecte al Aspose.Imaging.DataStreamSupporter actual.

public virtual void Save()

Save(Stream)

S’emmagatzema les dades de l’objecte al corrent especificat.

public void Save(Stream stream)

Parameters

stream Stream

El flux per salvar les dades de l’objecte a.

Save(Tàrrega)

Emmagatzema les dades de l’objecte a la ubicació del fitxer especificada.

public virtual void Save(string filePath)

Parameters

filePath string

El camí de fitxer per salvar les dades de l’objecte a.

Save(Tàrrega, Bool)

Emmagatzema les dades de l’objecte a la ubicació del fitxer especificada.

public virtual void Save(string filePath, bool overWrite)

Parameters

filePath string

El camí de fitxer per salvar les dades de l’objecte a.

overWrite bool

si s’estableix a ’true’ sobre escriure el contingut del fitxer, d’altra banda es produirà l’aplicació.

SaveData(Stream)

Estalvia les dades.

protected abstract void SaveData(Stream stream)

Parameters

stream Stream

El flux per salvar les dades a.

 Català