Class DataStreamSupporter
Namn på plats: Aspose.Imaging Församling: Aspose.Imaging.dll (25.4.0)
Dataflöde container.
[JsonObject(MemberSerialization.OptIn)]
public abstract class DataStreamSupporter : DisposableObject, IDisposable
Inheritance
object ← DisposableObject ← DataStreamSupporter
Derived
Implements
Arvsmedlemmar
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()
Initialiserar en ny instans av Aspose.Imaging.DataStreamSupporter klass.
[JsonConstructor]
protected DataStreamSupporter()
Fields
TimeUtgång
Timout att vänta på synkronisering
[JsonProperty]
protected int timeout
Fältvärde
Properties
DataStreamContainer
Få objektets dataflöde.
public StreamContainer DataStreamContainer { get; }
Fastighetsvärde
IsCached
Få ett värde som anger om objektets data är cached för närvarande och inga data läsning krävs.
public abstract bool IsCached { get; }
Fastighetsvärde
Methods
CacheData()
Däckar data och säkerställer att inga ytterligare data laddningar kommer att utföras från underliggande Aspose.Imaging.DataStreamSupporter.DataStreamContainer.
public abstract void CacheData()
Examples
Följande exempel visar hur bildcaching påverkar prestanda.I allmänhet görs läsning av cached data snabbare än läsning av icke-cached data.
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)
Det kallas när dataströmkontakten förändras.
protected virtual void OnDataStreamContainerChanging(StreamContainer streamContainer)
Parameters
streamContainer
StreamContainer
Ström för container.
ReleaseManagedResources()
Se till att inga okontrollerade resurser släpps här, eftersom de kanske redan har släppts.
protected override void ReleaseManagedResources()
Save()
Spara objektets data till den aktuella Aspose.Imaging.DataStreamSupporter.
public virtual void Save()
Save(Stream)
Spara objektets data till den angivna strömmen.
public void Save(Stream stream)
Parameters
stream
Stream
Strömmen för att spara objektets data till.
Save(Sträng)
Spara objektets data till den angivna filen plats.
public virtual void Save(string filePath)
Parameters
filePath
string
Filvägen för att spara objektets data till.
Save(String och bool)
Spara objektets data till den angivna filen plats.
public virtual void Save(string filePath, bool overWrite)
Parameters
filePath
string
Filvägen för att spara objektets data till.
overWrite
bool
om du ställer in “true” över att skriva filinnehållet, annars kommer tillägget att inträffa.
SaveData(Stream)
Spara dina data.
protected abstract void SaveData(Stream stream)
Parameters
stream
Stream
Strömmen för att spara data till.