Class DataStreamSupporter
Namespace: Aspose.Imaging
Assembly: Aspose.Imaging.dll (25.2.0)
Bộ chứa luồng dữ liệu.
[JsonObject(MemberSerialization.OptIn)]
public abstract class DataStreamSupporter : DisposableObject, IDisposable
Kế thừa
object ← DisposableObject ← DataStreamSupporter
Kế thừa
Triển khai
Thành viên kế thừa
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()
Các hàm khởi tạo
DataStreamSupporter()
Khởi tạo một thể hiện mới của lớp Aspose.Imaging.DataStreamSupporter.
[JsonConstructor]
protected DataStreamSupporter()
Trường
timeout
Thời gian chờ để đợi đồng bộ hóa.
[JsonProperty]
protected int timeout
Giá trị trường
Thuộc tính
DataStreamContainer
Lấy luồng dữ liệu của đối tượng.
public StreamContainer DataStreamContainer { get; }
Giá trị thuộc tính
IsCached
Lấy giá trị cho biết liệu dữ liệu của đối tượng hiện đang được lưu cache và không cần đọc dữ liệu.
public abstract bool IsCached { get; }
Giá trị thuộc tính
Phương thức
CacheData()
Lưu cache dữ liệu và đảm bảo rằng không có việc tải dữ liệu bổ sung nào sẽ được thực hiện từ Aspose.Imaging.DataStreamSupporter.DataStreamContainer bên dưới.
public abstract void CacheData()
Ví dụ
Ví dụ sau cho thấy cách lưu cache hình ảnh ảnh hưởng đến hiệu suất. Trong trường hợp tổng quát, việc đọc dữ liệu đã lưu cache được thực hiện nhanh hơn so với việc đọc dữ liệu không được lưu cache.```csharp [C#]
string dir = "c:\\temp\\";
// Tải một hình ảnh từ một tệp PNG.
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.png"))
{
// Lưu cache tất cả dữ liệu pixel để không có việc tải dữ liệu bổ sung sẽ được thực hiện từ luồng dữ liệu bên dưới
image.CacheData();
System.Diagnostics.Stopwatch stopwatch = new System.Diagnostics.Stopwatch();
stopwatch.Start();
// Đọc tất cả các pixel khá nhanh.
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("Đọc tất cả các pixel đã lưu cache mất {0} ms.", stopwatch.ElapsedMilliseconds);
}
// Tải một hình ảnh từ một tệp PNG
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.png"))
{
System.Diagnostics.Stopwatch stopwatch = new System.Diagnostics.Stopwatch();
stopwatch.Start();
// Đọc tất cả các pixel không nhanh như khi lưu cache
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("Đọc tất cả các pixel mà không có việc lưu cache trước mất {0} ms.", stopwatch.ElapsedMilliseconds);
}
// Đầu ra có thể trông như thế này:
// Đọc tất cả các pixel đã lưu cache mất 1500 ms.
// Đọc tất cả các pixel mà không có việc lưu cache trước mất 150000 ms.
### <a id="Aspose_Imaging_DataStreamSupporter_OnDataStreamContainerChanging_Aspose_Imaging_StreamContainer_"></a> OnDataStreamContainerChanging\(StreamContainer\)
Được gọi khi bộ chứa luồng dữ liệu đang thay đổi.
```csharp
protected virtual void OnDataStreamContainerChanging(StreamContainer streamContainer)
Tham số
streamContainer
StreamContainer
Bộ chứa luồng.
ReleaseManagedResources()
Giải phóng các tài nguyên đã quản lý. Đảm bảo không có tài nguyên không được quản lý nào được giải phóng ở đây, vì chúng có thể đã được giải phóng.
protected override void ReleaseManagedResources()
Save()
Lưu dữ liệu của đối tượng vào Aspose.Imaging.DataStreamSupporter hiện tại.
public virtual void Save()
Save(Stream)
Lưu dữ liệu của đối tượng vào luồng được chỉ định.
public void Save(Stream stream)
Tham số
stream
Stream
Luồng để lưu dữ liệu của đối tượng vào.
Save(string)
Lưu dữ liệu của đối tượng vào vị trí tệp được chỉ định.
public virtual void Save(string filePath)
Tham số
filePath
string
Đường dẫn tệp để lưu dữ liệu của đối tượng vào.
Save(string, bool)
Lưu dữ liệu của đối tượng vào vị trí tệp được chỉ định.
public virtual void Save(string filePath, bool overWrite)
Tham số
filePath
string
Đường dẫn tệp để lưu dữ liệu của đối tượng vào.
overWrite
bool
Nếu được đặt thành ```cstrue thì nội dung tệp sẽ bị ghi đè, nếu không sẽ thực hiện việc thêm vào.
SaveData(Stream)
Lưu dữ liệu.
protected abstract void SaveData(Stream stream)
Tham số
stream
Stream
Luồng để lưu dữ liệu vào.