Class DataStreamSupporter

Class DataStreamSupporter

名称: Aspose.Imaging 收藏: Aspose.Imaging.dll (25.4.0)

数据流容器。

[JsonObject(MemberSerialization.OptIn)]
public abstract class DataStreamSupporter : DisposableObject, IDisposable

Inheritance

object DisposableObject DataStreamSupporter

Derived

Image

Implements

IDisposable

继承人

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

领域价值

int

Properties

DataStreamContainer

接收对象的数据流。

public StreamContainer DataStreamContainer { get; }

财产价值

StreamContainer

IsCached

收到一个值,表明对象的数据是否目前被隐藏,并且不需要数据阅读。

public abstract bool IsCached { get; }

财产价值

bool

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

流来保存数据。

 中文