Class DataStreamSupporter

Class DataStreamSupporter

Nome do espaço: Aspose.Imaging Assembleia: Aspose.Imaging.dll (25.4.0)

Container de fluxo de dados.

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

Inheritance

object DisposableObject DataStreamSupporter

Derived

Image

Implements

IDisposable

Membros herdados

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 uma nova instância da classe Aspose.Imaging.DataStreamSupporter.

[JsonConstructor]
protected DataStreamSupporter()

Fields

Temporada

O tempo para esperar para a sincronização

[JsonProperty]
protected int timeout

Valor de campo

int

Properties

DataStreamContainer

Recebe o fluxo de dados do objeto.

public StreamContainer DataStreamContainer { get; }

Valor da propriedade

StreamContainer

IsCached

Recebe um valor indicando se os dados do objeto estão cache atualmente e não é necessário ler dados.

public abstract bool IsCached { get; }

Valor da propriedade

bool

Methods

CacheData()

Esconde os dados e garante que não haverá carregamento adicional de dados do Aspose.Imaging.DataStreamSupporter.DataStreamContainer.

public abstract void CacheData()

Examples

O exemplo a seguir mostra como o caching de imagem afeta o desempenho.Em geral, a leitura de dados cache é realizada mais rápido do que a leitura de dados não 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)

Chamado quando o contêiner de fluxo de dados está mudando.

protected virtual void OnDataStreamContainerChanging(StreamContainer streamContainer)

Parameters

streamContainer StreamContainer

O recipiente de fluxo.

ReleaseManagedResources()

Assegure-se de que os recursos não gerenciados não sejam liberados aqui, uma vez que eles podem já ter sido liberados.

protected override void ReleaseManagedResources()

Save()

Salve os dados do objeto para o atual Aspose.Imaging.DataStreamSupporter.

public virtual void Save()

Save(Stream)

Salve os dados do objeto para o fluxo especificado.

public void Save(Stream stream)

Parameters

stream Stream

O fluxo para salvar os dados do objeto para.

Save(Redação)

Salve os dados do objeto para a localização do arquivo especificado.

public virtual void Save(string filePath)

Parameters

filePath string

O caminho do arquivo para salvar os dados do objeto para.

Save(Remoção, Bool)

Salve os dados do objeto para a localização do arquivo especificado.

public virtual void Save(string filePath, bool overWrite)

Parameters

filePath string

O caminho do arquivo para salvar os dados do objeto para.

overWrite bool

Se você configurar para ‘verdade’ sobre escrever o conteúdo do arquivo, caso contrário, a adição ocorrerá.

SaveData(Stream)

Salve os dados.

protected abstract void SaveData(Stream stream)

Parameters

stream Stream

O fluxo para salvar dados para.

 Português