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

Το παρακάτω παράδειγμα δείχνει πώς το caching εικόνας επηρεάζει την απόδοση.Σε γενικές γραμμές, η ανάγνωση των δεδομένων cached εκτελείται γρηγορότερα από ό, τι η ανάγνωση των μη cached δεδομένων.

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

Η ροή για να αποθηκεύσετε τα δεδομένα.

 Ελληνικά