Class DataStreamSupporter
Nome do espaço: Aspose.Imaging Assembleia: Aspose.Imaging.dll (25.5.0)
Container de fluxo de dados.
[JsonObject(MemberSerialization.OptIn)]
public abstract class DataStreamSupporter : DisposableObject, IDisposableInheritance
object ← DisposableObject ← DataStreamSupporter
Derived
Implements
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 timeoutValor de campo
Properties
DataStreamContainer
Recebe o fluxo de dados do objeto.
public StreamContainer DataStreamContainer { get; }Valor da propriedade
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
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.