Class DataStreamSupporter
Namespace: Aspose.Imaging
Assembly: Aspose.Imaging.dll (25.2.0)
Контейнер потоку даних.
[JsonObject(MemberSerialization.OptIn)]
public abstract class DataStreamSupporter : DisposableObject, IDisposable
Спадкування
object ← DisposableObject ← DataStreamSupporter
Наслідок
Реалізує
Спадковані члени
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()
Конструктори
DataStreamSupporter()
Ініціалізує новий екземпляр класу Aspose.Imaging.DataStreamSupporter.
[JsonConstructor]
protected DataStreamSupporter()
Поля
timeout
Таймаут для очікування синхронізації
[JsonProperty]
protected int timeout
Значення поля
Властивості
DataStreamContainer
Отримує потік даних об’єкта.
public StreamContainer DataStreamContainer { get; }
Значення властивості
IsCached
Отримує значення, що вказує, чи дані об’єкта в даний момент кешовані і чи не потрібно читати дані.
public abstract bool IsCached { get; }
Значення властивості
Методи
CacheData()
Кешує дані та гарантує, що не буде виконано додаткового завантаження даних з підлеглого Aspose.Imaging.DataStreamSupporter.DataStreamContainer.
public abstract void CacheData()
Приклади
Наступний приклад показує, як кешування зображень впливає на продуктивність. У загальному випадку читання кешованих даних виконується швидше, ніж читання некешованих даних.```csharp [C#]
string dir = "c:\\temp\\";
// Завантажити зображення з PNG файлу.
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.png"))
{
// Кешувати всі піксельні дані, щоб не виконувалося додаткове завантаження даних з підлеглого потоку даних
image.CacheData();
System.Diagnostics.Stopwatch stopwatch = new System.Diagnostics.Stopwatch();
stopwatch.Start();
// Читання всіх пікселів досить швидке.
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("Читання всіх кешованих пікселів зайняло {0} ms.", stopwatch.ElapsedMilliseconds);
}
// Завантажити зображення з PNG файлу
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.png"))
{
System.Diagnostics.Stopwatch stopwatch = new System.Diagnostics.Stopwatch();
stopwatch.Start();
// Читання всіх пікселів не таке швидке, як при кешуванні
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("Читання всіх пікселів без попереднього кешування зайняло {0} ms.", stopwatch.ElapsedMilliseconds);
}
// Вихід може виглядати так:
// Читання всіх кешованих пікселів зайняло 1500 ms.
// Читання всіх пікселів без попереднього кешування зайняло 150000 ms.
### <a id="Aspose_Imaging_DataStreamSupporter_OnDataStreamContainerChanging_Aspose_Imaging_StreamContainer_"></a> OnDataStreamContainerChanging\(StreamContainer\)
Викликається, коли змінюється контейнер потоку даних.
```csharp
protected virtual void OnDataStreamContainerChanging(StreamContainer streamContainer)
Параметри
streamContainer
StreamContainer
Контейнер потоку.
ReleaseManagedResources()
Вивільняє керовані ресурси. Переконайтеся, що тут не вивільняються некеровані ресурси, оскільки вони могли бути вже вивільнені.
protected override void ReleaseManagedResources()
Save()
Зберігає дані об’єкта в поточному Aspose.Imaging.DataStreamSupporter.
public virtual void Save()
Save(Stream)
Зберігає дані об’єкта в зазначений потік.
public void Save(Stream stream)
Параметри
stream
Stream
Потік для збереження даних об’єкта.
Save(string)
Зберігає дані об’єкта в зазначеному місці файлу.
public virtual void Save(string filePath)
Параметри
filePath
string
Шлях до файлу для збереження даних об’єкта.
Save(string, bool)
Зберігає дані об’єкта в зазначеному місці файлу.
public virtual void Save(string filePath, bool overWrite)
Параметри
filePath
string
Шлях до файлу для збереження даних об’єкта.
overWrite
bool
якщо встановлено ```cstrue, перезаписати вміст файлу, в іншому випадку відбудеться додавання.
SaveData(Stream)
Зберігає дані.
protected abstract void SaveData(Stream stream)
Параметри
stream
Stream
Потік для збереження даних.