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

데이터를 저장하기위한 스트림.

 한국어