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.DataStreamContainer 进行。
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
流来保存数据。