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
데이터를 저장하기위한 스트림.