Class DataStreamSupporter

Class DataStreamSupporter

Именује се: Aspose.Imaging Асамблеја: Aspose.Imaging.dll (25.4.0)

Контејнер података тока.

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

Inheritance

object DisposableObject DataStreamSupporter

Derived

Image

Implements

IDisposable

Наслеђени чланови

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

Иницијалише нову инстанцију класе Aspose.Imaging.DataStreamSupporter.

[JsonConstructor]
protected DataStreamSupporter()

Fields

Време

Време чекања за синхронизацију

[JsonProperty]
protected int timeout

Пољска вредност

int

Properties

DataStreamContainer

Добија приток података објекта.

public StreamContainer DataStreamContainer { get; }

Вредност имовине

StreamContainer

IsCached

Добија вредност која указује на то да ли су подаци објекта тренутно скривени и да није потребно читање података.

public abstract bool IsCached { get; }

Вредност имовине

bool

Methods

CacheData()

Скрива податке и осигурава да се неће извршити додатни пренос података са подложног Aspose.Imaging.DataStreamSupporter.

public abstract void CacheData()

Examples

Следећи пример показује како слика кешинг утиче на перформансе.Уопштено, читање кешених података се врши брже од читања не-каширани подаци.

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)

Позива се када се контејнер података мења.

protected virtual void OnDataStreamContainerChanging(StreamContainer streamContainer)

Parameters

streamContainer StreamContainer

Контејнер за струју.

ReleaseManagedResources()

Ослобађа управљане ресурсе. Уверите се да се овде не ослобађају управљани ресурси, јер се они можда већ ослобађају.

protected override void ReleaseManagedResources()

Save()

Сачува податке објекта на тренутну Aspose.Imaging.DataStreamSupporter.

public virtual void Save()

Save(Stream)

Сачува податке објекта у одређеном току.

public void Save(Stream stream)

Parameters

stream Stream

Поток да сачувате податке објекта на.

Save(Стринг)

Сачува податке објекта на одређеном локацији датотеке.

public virtual void Save(string filePath)

Parameters

filePath string

Пут датотеке да сачувате податке објекта на.

Save(КСНУМКС, Боол)

Сачува податке објекта на одређеном локацији датотеке.

public virtual void Save(string filePath, bool overWrite)

Parameters

filePath string

Пут датотеке да сачувате податке објекта на.

overWrite bool

ако је постављен на “истину” преко писања садржаја датотеке, иначе ће се појавити додатак.

SaveData(Stream)

Sačuvajte podatke.

protected abstract void SaveData(Stream stream)

Parameters

stream Stream

Поток да сачувате податке на.

 Српски