Class DataStreamSupporter

Class DataStreamSupporter

Namespace: Aspose.Imaging
Assembly: Aspose.Imaging.dll (25.2.0)

データストリームコンテナ。

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

継承

objectDisposableObjectDataStreamSupporter

派生

Image

実装

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()

コンストラクター

DataStreamSupporter()

Aspose.Imaging.DataStreamSupporterクラスの新しいインスタンスを初期化します。

[JsonConstructor]
protected DataStreamSupporter()

フィールド

timeout

同期を待つためのタイムアウト。

[JsonProperty]
protected int timeout

フィールド値

int

プロパティ

DataStreamContainer

オブジェクトのデータストリームを取得します。

public StreamContainer DataStreamContainer { get; }

プロパティ値

StreamContainer

IsCached

オブジェクトのデータが現在キャッシュされており、データの読み取りが必要ないかどうかを示す値を取得します。

public abstract bool IsCached { get; }

プロパティ値

bool

メソッド

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


### <a id="Aspose_Imaging_DataStreamSupporter_SaveData_System_IO_Stream_"></a> SaveData\(Stream\)

データを保存します。

```csharp
protected abstract void SaveData(Stream stream)

パラメーター

stream Stream

データを保存するストリーム。

 日本語