Class DataStreamSupporter

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

objectDisposableObjectDataStreamSupporter

Kế thừa

Image

Triển khai

IDisposable

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

int

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

StreamContainer

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

bool

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.

 Tiếng Việt