Class DataStreamSupporter

Class DataStreamSupporter

Le nom : Aspose.Imaging Assemblée: Aspose.Imaging.dll (25.4.0)

Le conteneur de données.

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

Initialisez une nouvelle instance de la classe Aspose.Imaging.DataStreamSupporter.

[JsonConstructor]
protected DataStreamSupporter()

Fields

Temps de départ

Le temps à attendre pour la synchronisation

[JsonProperty]
protected int timeout

Valore di campo

int

Properties

DataStreamContainer

Obtenez le flux de données de l’objet.

public StreamContainer DataStreamContainer { get; }

Valore di proprietà

StreamContainer

IsCached

Obtenez une valeur indiquant si les données de l’objet sont cachées actuellement et qu’aucune lecture de données n’est requise.

public abstract bool IsCached { get; }

Valore di proprietà

bool

Methods

CacheData()

Cache les données et s’assure qu’aucun chargement de données supplémentaire ne sera effectué à partir du Aspose.Imaging.DataStreamSupporter.

public abstract void CacheData()

Examples

L’exemple ci-dessous montre comment le caching d’image affecte les performances.En général, la lecture des données cachées se fait plus rapidement qu’une lecture de données non cachées.

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)

On l’appelle quand le conteneur de flux de données change.

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

Enregistre les données de l’objet dans le Aspose.Imaging.DataStreamSupporter actuel.

public virtual void Save()

Save(Stream)

Enregistre les données de l’objet dans le courant spécifié.

public void Save(Stream stream)

Parameters

stream Stream

Le courant pour sauvegarder les données de l’objet.

Save(Le string)

Enregistre les données de l’objet à l’emplacement du fichier spécifié.

public virtual void Save(string filePath)

Parameters

filePath string

Le chemin de fichier pour enregistrer les données de l’objet.

Save(Télécharger, Bool)

Enregistre les données de l’objet à l’emplacement du fichier spécifié.

public virtual void Save(string filePath, bool overWrite)

Parameters

filePath string

Le chemin de fichier pour enregistrer les données de l’objet.

overWrite bool

Si vous définissez “true” au-delà de l’écriture du contenu du fichier, autrement l’ajout se produira.

SaveData(Stream)

Économisez les données.

protected abstract void SaveData(Stream stream)

Parameters

stream Stream

Le flux pour sauvegarder les données.

 Français