Class DataStreamSupporter

Class DataStreamSupporter

ja nimityö: Aspose.Imaging Kokoelma: Aspose.Imaging.dll (25.4.0)

Tietojen virtainen säiliö.

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

Inheritance

object DisposableObject DataStreamSupporter

Derived

Image

Implements

IDisposable

Perintöjäsenet

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

Aloitetaan uusi esimerkki Aspose.Imaging.DataStreamSupporter luokasta.

[JsonConstructor]
protected DataStreamSupporter()

Fields

Aikaa

Aikaa odottaa synkronointia

[JsonProperty]
protected int timeout

kentän arvo

int

Properties

DataStreamContainer

Saat kohteen tiedon virtauksen.

public StreamContainer DataStreamContainer { get; }

Omistuksen arvo

StreamContainer

IsCached

Saat arvon, joka osoittaa, onko kohteen tiedot tallennettu tällä hetkellä eikä tietojen lukemista vaadita.

public abstract bool IsCached { get; }

Omistuksen arvo

bool

Methods

CacheData()

Piilottaa tiedot ja varmistaa, ettei ylimääräistä tietojen latausta suoriteta alakohdasta Aspose.Imaging.DataStreamSupporter.

public abstract void CacheData()

Examples

Seuraava esimerkki osoittaa, miten kuvan kaavio vaikuttaa suorituskykyyn. Yleisesti ottaen kaaviettujen tietojen lukeminen suoritetaan nopeammin kuin ei-kaavietut tiedot.

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)

Kutsutaan, kun tietolähteen säiliö muuttuu.

protected virtual void OnDataStreamContainerChanging(StreamContainer streamContainer)

Parameters

streamContainer StreamContainer

Liikenne on kontti.

ReleaseManagedResources()

Varmista, että hallitsemattomia resursseja ei ole vapautettu täällä, koska ne saattavat olla jo vapautettu.

protected override void ReleaseManagedResources()

Save()

Tallenna kohteen tiedot nykyiseen Aspose.Imaging.DataStreamSupporter.

public virtual void Save()

Save(Stream)

Tallenna objekti-tiedot määriteltyyn virtaukseen.

public void Save(Stream stream)

Parameters

stream Stream

Virta tallentaa kohteen tietoja.

Save(String)

Tallenna kohteen tiedot määritellyn tiedoston sijaintiin.

public virtual void Save(string filePath)

Parameters

filePath string

Tiedoston reitti tallentaa kohteen tiedot.

Save(Sormus ja bool)

Tallenna kohteen tiedot määritellyn tiedoston sijaintiin.

public virtual void Save(string filePath, bool overWrite)

Parameters

filePath string

Tiedoston reitti tallentaa kohteen tiedot.

overWrite bool

jos asetetaan “todellinen” kirjoittamalla tiedoston sisältöä, muutoin liitetiedosto tapahtuu.

SaveData(Stream)

säästää tietoja.

protected abstract void SaveData(Stream stream)

Parameters

stream Stream

Virtaa tallentaa tietoja.

 Suomi