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
Следующий пример показывает, как caching изображения влияет на производительность.В общем случае, чтение кеш-данных выполняется быстрее, чем чтения не-кашированных данных.
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
Поток для сохранения данных.