Class DataStreamSupporter

Class DataStreamSupporter

Namn på plats: Aspose.Imaging Församling: Aspose.Imaging.dll (25.4.0)

Dataflöde container.

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

Inheritance

object DisposableObject DataStreamSupporter

Derived

Image

Implements

IDisposable

Arvsmedlemmar

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

Initialiserar en ny instans av Aspose.Imaging.DataStreamSupporter klass.

[JsonConstructor]
protected DataStreamSupporter()

Fields

TimeUtgång

Timout att vänta på synkronisering

[JsonProperty]
protected int timeout

Fältvärde

int

Properties

DataStreamContainer

Få objektets dataflöde.

public StreamContainer DataStreamContainer { get; }

Fastighetsvärde

StreamContainer

IsCached

Få ett värde som anger om objektets data är cached för närvarande och inga data läsning krävs.

public abstract bool IsCached { get; }

Fastighetsvärde

bool

Methods

CacheData()

Däckar data och säkerställer att inga ytterligare data laddningar kommer att utföras från underliggande Aspose.Imaging.DataStreamSupporter.DataStreamContainer.

public abstract void CacheData()

Examples

Följande exempel visar hur bildcaching påverkar prestanda.I allmänhet görs läsning av cached data snabbare än läsning av icke-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 kallas när dataströmkontakten förändras.

protected virtual void OnDataStreamContainerChanging(StreamContainer streamContainer)

Parameters

streamContainer StreamContainer

Ström för container.

ReleaseManagedResources()

Se till att inga okontrollerade resurser släpps här, eftersom de kanske redan har släppts.

protected override void ReleaseManagedResources()

Save()

Spara objektets data till den aktuella Aspose.Imaging.DataStreamSupporter.

public virtual void Save()

Save(Stream)

Spara objektets data till den angivna strömmen.

public void Save(Stream stream)

Parameters

stream Stream

Strömmen för att spara objektets data till.

Save(Sträng)

Spara objektets data till den angivna filen plats.

public virtual void Save(string filePath)

Parameters

filePath string

Filvägen för att spara objektets data till.

Save(String och bool)

Spara objektets data till den angivna filen plats.

public virtual void Save(string filePath, bool overWrite)

Parameters

filePath string

Filvägen för att spara objektets data till.

overWrite bool

om du ställer in “true” över att skriva filinnehållet, annars kommer tillägget att inträffa.

SaveData(Stream)

Spara dina data.

protected abstract void SaveData(Stream stream)

Parameters

stream Stream

Strömmen för att spara data till.

 Svenska