Class DataStreamSupporter

Class DataStreamSupporter

Der Name: Aspose.Imaging Versammlung: Aspose.Imaging.dll (25.4.0)

Der Datenstrom Container.

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

Inheritance

object DisposableObject DataStreamSupporter

Derived

Image

Implements

IDisposable

Vererbte Mitglieder

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

Initialisiert eine neue Instanz der Aspose.Imaging.DataStreamSupporter Klasse.

[JsonConstructor]
protected DataStreamSupporter()

Fields

Zeitabend

Die Zeit für die Synchronisierung warten

[JsonProperty]
protected int timeout

Feldwert

int

Properties

DataStreamContainer

Erhalten Sie den Datenstrom des Objekts.

public StreamContainer DataStreamContainer { get; }

Eigentumswert

StreamContainer

IsCached

Er erhält einen Wert, der angibt, ob die Daten des Objekts derzeit verschlüsselt sind und keine Datenlesung erforderlich ist.

public abstract bool IsCached { get; }

Eigentumswert

bool

Methods

CacheData()

Es versteckt die Daten und sorgt dafür, dass keine zusätzlichen Datenladungen vom unteren Aspose.Imaging.DataStreamSupporter.DataStreamContainer durchgeführt werden.

public abstract void CacheData()

Examples

Das folgende Beispiel zeigt, wie Bildcaching die Leistung beeinflusst. im Allgemeinen wird das Lesen von cached-Daten schneller durchgeführt als das Lesen von nicht cached-Daten.

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)

Es wird angerufen, wenn sich der Datenstrom-Container ändert.

protected virtual void OnDataStreamContainerChanging(StreamContainer streamContainer)

Parameters

streamContainer StreamContainer

Der Stream Container.

ReleaseManagedResources()

Stellen Sie sicher, dass hier keine nicht verwalteten Ressourcen veröffentlicht werden, da sie möglicherweise bereits veröffentlicht wurden.

protected override void ReleaseManagedResources()

Save()

Speichert die Daten des Objekts in den aktuellen Aspose.Imaging.DataStreamSupporter.

public virtual void Save()

Save(Stream)

Speichert die Daten des Objekts in den angegebenen Strom.

public void Save(Stream stream)

Parameters

stream Stream

Der Strom, um die Daten des Objekts zu speichern.

Save(String)

Speichert die Daten des Objekts an die angegebenen Datei-Lokation.

public virtual void Save(string filePath)

Parameters

filePath string

Der Dateiweg, um die Daten des Objekts zu speichern.

Save(String und Bool)

Speichert die Daten des Objekts an die angegebenen Datei-Lokation.

public virtual void Save(string filePath, bool overWrite)

Parameters

filePath string

Der Dateiweg, um die Daten des Objekts zu speichern.

overWrite bool

wenn Sie auf “richtig” über das Schreiben der Datei-Inhalte festgelegt werden, sonst wird eine Ergänzung auftreten.

SaveData(Stream)

Sparen Sie die Daten.

protected abstract void SaveData(Stream stream)

Parameters

stream Stream

Der Stream, um die Daten zu speichern.

 Deutsch