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)

Зберегти дані .

protected abstract void SaveData(Stream stream)

Parameters

stream Stream

Потік для збереження даних до.

 Українська