Class DataStreamSupporter

Class DataStreamSupporter

Namespace: Aspose.Imaging
Assembly: Aspose.Imaging.dll (25.2.0)

מיכל זרם הנתונים.

[JsonObject(MemberSerialization.OptIn)]
public abstract class DataStreamSupporter : DisposableObject, IDisposable

ירושה

objectDisposableObjectDataStreamSupporter

נגזרות

Image

מיישם

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()

קונסטרוקטורים

DataStreamSupporter()

מאתחל מופע חדש של מחלקת Aspose.Imaging.DataStreamSupporter.

[JsonConstructor]
protected DataStreamSupporter()

שדות

timeout

הזמן המקסימלי להמתין לסנכרון

[JsonProperty]
protected int timeout

ערך שדה

int

מאפיינים

DataStreamContainer

מקבל את זרם הנתונים של האובייקט.

public StreamContainer DataStreamContainer { get; }

ערך מאפיין

StreamContainer

IsCached

מקבל ערך המצביע האם הנתונים של האובייקט נשמרים במטמון כרגע ואין צורך בקריאת נתונים.

public abstract bool IsCached { get; }

ערך מאפיין

bool

שיטות

CacheData()

שומר את הנתונים במטמון ומוודא שלא יבוצע טעינת נתונים נוספת מ- Aspose.Imaging.DataStreamSupporter.DataStreamContainer הבסיסי.

public abstract void CacheData()

דוגמאות

הדוגמה הבאה מראה כיצד שמירת תמונות במטמון משפיעה על הביצועים. במקרה הכללי, קריאת נתוני מטמון מתבצעת מהר יותר מאשר קריאת נתונים לא במטמון.```csharp [C#]

                                                                                                                                                                string dir = "c:\\temp\\";

                                                                                                                                                                // טוען תמונה מקובץ PNG.
                                                                                                                                                                using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.png"))
                                                                                                                                                                {
                                                                                                                                                                    // שומר את כל נתוני הפיקסלים במטמון כך שלא תתבצע טעינת נתונים נוספת מזרם הנתונים הבסיסי
                                                                                                                                                                    image.CacheData();

                                                                                                                                                                    System.Diagnostics.Stopwatch stopwatch = new System.Diagnostics.Stopwatch();
                                                                                                                                                                    stopwatch.Start();

                                                                                                                                                                    // קריאת כל הפיקסלים היא די מהירה.
                                                                                                                                                                    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("קריאת כל הפיקסלים במטמון לקחה {0} ms.", stopwatch.ElapsedMilliseconds);
                                                                                                                                                                }

                                                                                                                                                                // טוען תמונה מקובץ PNG
                                                                                                                                                                using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.png"))
                                                                                                                                                                {
                                                                                                                                                                    System.Diagnostics.Stopwatch stopwatch = new System.Diagnostics.Stopwatch();
                                                                                                                                                                    stopwatch.Start();

                                                                                                                                                                    // קריאת כל הפיקסלים אינה מהירה כמו כאשר שומרים במטמון
                                                                                                                                                                    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("קריאת כל הפיקסלים ללא שמירה מוקדמת במטמון לקחה {0} ms.", stopwatch.ElapsedMilliseconds);
                                                                                                                                                                }

                                                                                                                                                                // הפלט עשוי להיראות כך:
                                                                                                                                                                // קריאת כל הפיקסלים במטמון לקחה 1500 ms.
                                                                                                                                                                // קריאת כל הפיקסלים ללא שמירה מוקדמת במטמון לקחה 150000 ms.

### <a id="Aspose_Imaging_DataStreamSupporter_OnDataStreamContainerChanging_Aspose_Imaging_StreamContainer_"></a> OnDataStreamContainerChanging\(StreamContainer\)

נקרא כאשר מיכל זרם הנתונים משתנה.

```csharp
protected virtual void OnDataStreamContainerChanging(StreamContainer streamContainer)

פרמטרים

streamContainer StreamContainer

מיכל הזרם.

ReleaseManagedResources()

משחרר את המשאבים המנוהלים. ודא שלא משוחררים כאן משאבים לא מנוהלים, מכיוון שהם עשויים כבר להיות משוחררים.

protected override void ReleaseManagedResources()

Save()

שומר את הנתונים של האובייקט ל- Aspose.Imaging.DataStreamSupporter הנוכחי.

public virtual void Save()

Save(Stream)

שומר את הנתונים של האובייקט לזרם המוגדר.

public void Save(Stream stream)

פרמטרים

stream Stream

הזרם לשמור את הנתונים של האובייקט אליו.

Save(string)

שומר את הנתונים של האובייקט למיקום הקובץ המוגדר.

public virtual void Save(string filePath)

פרמטרים

filePath string

נתיב הקובץ לשמור את הנתונים של האובייקט אליו.

Save(string, bool)

שומר את הנתונים של האובייקט למיקום הקובץ המוגדר.

public virtual void Save(string filePath, bool overWrite)

פרמטרים

filePath string

נתיב הקובץ לשמור את הנתונים של האובייקט אליו.

overWrite bool

אם מוגדר ל- ```cstrue יחליף את תוכן הקובץ, אחרת תתבצע הוספה.

SaveData(Stream)

שומר את הנתונים.

protected abstract void SaveData(Stream stream)

פרמטרים

stream Stream

הזרם לשמור את הנתונים אליו.

 Ελληνικά