Class DataStreamSupporter
Numele spaţiului: Aspose.Imaging Asamblare: Aspose.Imaging.dll (25.5.0)
Containerul de date flux.
[JsonObject(MemberSerialization.OptIn)]
public abstract class DataStreamSupporter : DisposableObject, IDisposableInheritance
object ← DisposableObject ← DataStreamSupporter
Derived
Implements
Membrii moștenitori
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()
Inițializează o nouă instanță a clasei Aspose.Imaging.DataStreamSupporter.
[JsonConstructor]
protected DataStreamSupporter()Fields
Timpul
Timpul de a aștepta pentru sincronizare
[JsonProperty]
protected int timeoutValoarea câmpului
Properties
DataStreamContainer
Obține fluxul de date al obiectului.
public StreamContainer DataStreamContainer { get; }Valoarea proprietății
IsCached
Obține o valoare care indică dacă datele obiectului sunt cache în prezent și nu este necesară citirea datelor.
public abstract bool IsCached { get; }Valoarea proprietății
Methods
CacheData()
Se ascunde datele și se asigură că nu vor fi efectuate încărcări suplimentare de date de la Aspose.Imaging.DataStreamSupporter.
public abstract void CacheData()Examples
Următorul exemplu arată modul în care caching-ul imaginii afectează performanța. în general, citirea datelor cache este efectuată mai repede decât citirea datelor non-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 numește atunci când se schimbă containerul de date.
protected virtual void OnDataStreamContainerChanging(StreamContainer streamContainer)Parameters
streamContainer StreamContainer
Containerul de flux.
ReleaseManagedResources()
Asigurați-vă că resursele necontrolate nu sunt eliberate aici, deoarece acestea pot fi deja eliberate.
protected override void ReleaseManagedResources()Save()
Salvează datele obiectului la actualul Aspose.Imaging.DataStreamSupporter.
public virtual void Save()Save(Stream)
Salvează datele obiectului în fluxul specificat.
public void Save(Stream stream)Parameters
stream Stream
Fluxul pentru a salva datele obiectului la.
Save(Strângere)
Salvează datele obiectului la locația specificată a fișierului.
public virtual void Save(string filePath)Parameters
filePath string
Calea de fișier pentru a salva datele obiectului la.
Save(Cuvânt cheie, bool)
Salvează datele obiectului la locația specificată a fișierului.
public virtual void Save(string filePath, bool overWrite)Parameters
filePath string
Calea de fișier pentru a salva datele obiectului la.
overWrite bool
în cazul în care este setat la “true” peste a scrie conținutul fișierului, în caz contrar se va întâmpla adăugarea.
SaveData(Stream)
salvează datele.
protected abstract void SaveData(Stream stream)Parameters
stream Stream
Stream pentru a salva datele la.