Class DataStreamSupporter
Названий на: Aspose.Imaging Асамблея: Aspose.Imaging.dll (25.5.0)
Контейнер з потоком даних.
[JsonObject(MemberSerialization.OptIn)]
public abstract class DataStreamSupporter : DisposableObject, IDisposableInheritance
object ← DisposableObject ← DataStreamSupporter
Derived
Implements
Нападні члени
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Полезна вартість
Properties
DataStreamContainer
Знайдіть потоки даних об’єкта.
public StreamContainer DataStreamContainer { get; }вартість нерухомості
IsCached
Отримається значення, яке вказує на те, чи є дані об’єкта в даний час кефіровані і чи не вимагається читання даних.
public abstract bool IsCached { get; }вартість нерухомості
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
Потік для збереження даних до.