Class DataStreamSupporter

Class DataStreamSupporter

Nombre del espacio: Aspose.Imaging Asamblea: Aspose.Imaging.dll (25.4.0)

El contenedor de flujo de datos.

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

Inheritance

object DisposableObject DataStreamSupporter

Derived

Image

Implements

IDisposable

Miembros heredados

DisposableObject.Dispose() ,y, DisposableObject.ReleaseManagedResources() ,y, DisposableObject.ReleaseUnmanagedResources() ,y, DisposableObject.VerifyNotDisposed() ,y, DisposableObject.Disposed ,y, object.GetType() ,y, object.MemberwiseClone() ,y, object.ToString() ,y, object.Equals(object?) ,y, object.Equals(object?, object?) ,y, object.ReferenceEquals(object?, object?) ,y, object.GetHashCode()

Constructors

DataStreamSupporter()

Inicia una nueva instancia de la clase Aspose.Imaging.DataStreamSupporter.

[JsonConstructor]
protected DataStreamSupporter()

Fields

Tiempo

El tiempo de espera para la sincronización

[JsonProperty]
protected int timeout

Valor de campo

int

Properties

DataStreamContainer

Recoge el flujo de datos del objeto.

public StreamContainer DataStreamContainer { get; }

Valor de la propiedad

StreamContainer

IsCached

Recibe un valor que indica si los datos del objeto están cajados actualmente y no se requiere la lectura de datos.

public abstract bool IsCached { get; }

Valor de la propiedad

bool

Methods

CacheData()

Cache los datos y asegura que no se realizarán cargas adicionales de datos desde el subyacente Aspose.Imaging.DataStreamSupporter.DataStreamContainer.

public abstract void CacheData()

Examples

El siguiente ejemplo muestra cómo el caching de imágenes afecta el rendimiento.En general, la lectura de los datos cache se realiza más rápido que la lectura de los datos no 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 llama cuando el contenedor de flujo de datos cambia.

protected virtual void OnDataStreamContainerChanging(StreamContainer streamContainer)

Parameters

streamContainer StreamContainer

El contenedor de corriente.

ReleaseManagedResources()

Asegúrese de que los recursos no gestionados no se liberan aquí, ya que pueden haber sido ya liberados.

protected override void ReleaseManagedResources()

Save()

Salva los datos del objeto en el actual Aspose.Imaging.DataStreamSupporter.

public virtual void Save()

Save(Stream)

Salva los datos del objeto a la corriente especificada.

public void Save(Stream stream)

Parameters

stream Stream

El flujo para salvar los datos del objeto a.

Save(El string)

Salva los datos del objeto a la ubicación del archivo especificado.

public virtual void Save(string filePath)

Parameters

filePath string

El camino de archivo para salvar los datos del objeto a.

Save(Cortesía, Bool)

Salva los datos del objeto a la ubicación del archivo especificado.

public virtual void Save(string filePath, bool overWrite)

Parameters

filePath string

El camino de archivo para salvar los datos del objeto a.

overWrite bool

si se establece a ‘verdad’ sobre escribir el contenido del archivo, de lo contrario se producirá un apéndice.

SaveData(Stream)

ahorrar los datos.

protected abstract void SaveData(Stream stream)

Parameters

stream Stream

El flujo para salvar los datos a.

 Español