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.

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

Потокът за съхранение на данните.

 Български