Class DataStreamSupporter
Название пространства: Aspose.Imaging Ассоциация: Aspose.Imaging.dll (25.4.0)
Контейнер для потока данных.
[JsonObject(MemberSerialization.OptIn)]
public abstract class DataStreamSupporter : DisposableObject, IDisposable
Inheritance
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
Поток для сохранения данных.