Class DataStreamSupporter

Class DataStreamSupporter

Navne til: Aspose.Imaging Sammensætning: Aspose.Imaging.dll (25.4.0)

Den data stream container.

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

Inheritance

object DisposableObject DataStreamSupporter

Derived

Image

Implements

IDisposable

De arvede medlemmer

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

Initialiserer en ny instans i Aspose.Imaging.DataStreamSupporter klasse.

[JsonConstructor]
protected DataStreamSupporter()

Fields

Tidsudgang

Tid til synkronisering

[JsonProperty]
protected int timeout

Fællesværdi

int

Properties

DataStreamContainer

Få objektets datastrøm.

public StreamContainer DataStreamContainer { get; }

Ejendomsværdi

StreamContainer

IsCached

Giver en værdi, der angiver, om objektets data er cachet i øjeblikket og ingen data læsning er påkrævet.

public abstract bool IsCached { get; }

Ejendomsværdi

bool

Methods

CacheData()

Det skjuler dataene og sikrer, at der ikke udføres yderligere opladning af data fra underliggende Aspose.Imaging.DataStreamSupporter.

public abstract void CacheData()

Examples

Følgende eksempel viser, hvordan image caching påvirker ydeevnen. i almindelighed, læsning af cached data udføres hurtigere end læsningen af ikke-cached data.

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)

Det kaldes, når datastrøm container ændrer sig.

protected virtual void OnDataStreamContainerChanging(StreamContainer streamContainer)

Parameters

streamContainer StreamContainer

Det er containerens strøm.

ReleaseManagedResources()

Sørg for, at der ikke frigives uadministrerede ressourcer her, da de måske allerede er blevet frigivet.

protected override void ReleaseManagedResources()

Save()

Sparer objektets data til den aktuelle Aspose.Imaging.DataStreamSupporter.

public virtual void Save()

Save(Stream)

Spare objektets data til den angivne strøm.

public void Save(Stream stream)

Parameters

stream Stream

Strømmen til at gemme objektets data til.

Save(String)

Spare objektets data til den angivne fil placering.

public virtual void Save(string filePath)

Parameters

filePath string

Filvejen til at gemme objektets data til.

Save(String og Bool)

Spare objektets data til den angivne fil placering.

public virtual void Save(string filePath, bool overWrite)

Parameters

filePath string

Filvejen til at gemme objektets data til.

overWrite bool

Hvis du indstiller til ’true’ over at skrive filindholdet, ellers tilføjelse vil forekomme.

SaveData(Stream)

Sparer de data.

protected abstract void SaveData(Stream stream)

Parameters

stream Stream

Strømmen til at gemme data til.

 Dansk