Class ApngImage
Der Name: Aspose.Imaging.FileFormats.Apng Versammlung: Aspose.Imaging.dll (25.4.0)
Die API für Animated PNG (Animated Portable Network Graphics) BilddateiFormat ist eine vielseitige Lösung für Entwickler, die sich integrieren möchtenanimierte Inhalte in ihre Anwendungen. Diese API bietet umfassendeKontrolle über Frame-Einstellungen, die Benutzern ermöglichen, Frame-spezifischeParameter, einschließlich Laufdauer und PNG-Datei-Einstellungen.Feature reiches Werkzeug, Sie können die Display ohne Mühe verwalten und optimierenAPNG-Bilder, Importieren und Exportieren, die Dynamik undInteraktive Aspekte Ihrer Anwendungen.
[JsonObject(MemberSerialization.OptIn)]
public sealed class ApngImage : RasterCachedMultipageImage, IDisposable, IObjectWithBounds, IRasterImageArgb32PixelLoader, IRasterImageRawDataLoader, IHasXmpData, IHasMetadata, IMultipageImageExt, IMultipageImage
Inheritance
object ← DisposableObject ← DataStreamSupporter ← Image ← RasterImage ← RasterCachedImage ← RasterCachedMultipageImage ← ApngImage
Implements
IDisposable , IObjectWithBounds , IRasterImageArgb32PixelLoader , IRasterImageRawDataLoader , IHasXmpData , IHasMetadata , IMultipageImageExt , IMultipageImage
Vererbte Mitglieder
RasterCachedMultipageImage.AdjustBrightness(int) , RasterCachedMultipageImage.AdjustContrast(float) , RasterCachedMultipageImage.AdjustGamma(float, float, float) , RasterCachedMultipageImage.AdjustGamma(float) , RasterCachedMultipageImage.Blend(Point, RasterImage, Rectangle, byte) , RasterCachedMultipageImage.BinarizeFixed(byte) , RasterCachedMultipageImage.BinarizeBradley(double, int) , RasterCachedMultipageImage.BinarizeBradley(double) , RasterCachedMultipageImage.BinarizeOtsu() , RasterCachedMultipageImage.Crop(Rectangle) , RasterCachedMultipageImage.Crop(int, int, int, int) , RasterCachedMultipageImage.Dither(DitheringMethod, int, IColorPalette) , RasterCachedMultipageImage.Grayscale() , RasterCachedMultipageImage.NormalizeHistogram() , RasterCachedMultipageImage.Rotate(float, bool, Color) , RasterCachedMultipageImage.RotateFlip(RotateFlipType) , RasterCachedMultipageImage.RotateFlipAll(RotateFlipType) , RasterCachedMultipageImage.Resize(int, int, ResizeType) , RasterCachedMultipageImage.Resize(int, int, ImageResizeSettings) , RasterCachedMultipageImage.ResizeWidthProportionally(int, ResizeType) , RasterCachedMultipageImage.ResizeHeightProportionally(int, ResizeType) , RasterCachedMultipageImage.ReplaceColor(int, byte, int) , RasterCachedMultipageImage.ReplaceNonTransparentColors(int) , RasterCachedMultipageImage.Filter(Rectangle, FilterOptionsBase) , RasterCachedMultipageImage.NormalizeAngle(bool, Color) , RasterCachedMultipageImage.CacheData() , RasterCachedMultipageImage.GetSerializedStream(ImageOptionsBase, Rectangle, out int) , RasterCachedMultipageImage.Height , RasterCachedMultipageImage.Width , RasterCachedMultipageImage.BitsPerPixel , RasterCachedMultipageImage.IsCached , RasterCachedMultipageImage.PageCount , RasterCachedMultipageImage.Pages , RasterCachedMultipageImage.HasAlpha , RasterCachedMultipageImage.HasTransparentColor , RasterCachedMultipageImage.ImageOpacity , RasterCachedMultipageImage.BackgroundColor , RasterCachedMultipageImage.XmpData , RasterCachedMultipageImage.PageExportingAction , RasterCachedImage.CacheData() , RasterCachedImage.Blend(Point, RasterImage, Rectangle, byte) , RasterCachedImage.Resize(int, int, ResizeType) , RasterCachedImage.Resize(int, int, ImageResizeSettings) , RasterCachedImage.RotateFlip(RotateFlipType) , RasterCachedImage.Rotate(float, bool, Color) , RasterCachedImage.Crop(Rectangle) , RasterCachedImage.Dither(DitheringMethod, int, IColorPalette) , RasterCachedImage.Grayscale() , RasterCachedImage.NormalizeHistogram() , RasterCachedImage.BinarizeFixed(byte) , RasterCachedImage.BinarizeOtsu() , RasterCachedImage.BinarizeBradley(double, int) , RasterCachedImage.BinarizeBradley(double) , RasterCachedImage.AdjustBrightness(int) , RasterCachedImage.AdjustContrast(float) , RasterCachedImage.AdjustGamma(float, float, float) , RasterCachedImage.AdjustGamma(float) , RasterCachedImage.IsCached , RasterImage.RemoveMetadata() , RasterImage.Save(Stream, ImageOptionsBase, Rectangle) , RasterImage.GetModifyDate(bool) , RasterImage.Dither(DitheringMethod, int) , RasterImage.Dither(DitheringMethod, int, IColorPalette) , RasterImage.GetDefaultPixels(Rectangle, IPartialArgb32PixelLoader) , RasterImage.GetDefaultRawData(Rectangle, IPartialRawDataLoader, RawDataSettings) , RasterImage.GetDefaultArgb32Pixels(Rectangle) , RasterImage.GetDefaultRawData(Rectangle, RawDataSettings) , RasterImage.GetArgb32Pixel(int, int) , RasterImage.GetPixel(int, int) , RasterImage.SetArgb32Pixel(int, int, int) , RasterImage.SetPixel(int, int, Color) , RasterImage.ReadScanLine(int) , RasterImage.ReadArgb32ScanLine(int) , RasterImage.WriteScanLine(int, Color[]) , RasterImage.WriteArgb32ScanLine(int, int[]) , RasterImage.LoadPartialArgb32Pixels(Rectangle, IPartialArgb32PixelLoader) , RasterImage.LoadPartialPixels(Rectangle, IPartialPixelLoader) , RasterImage.LoadArgb32Pixels(Rectangle) , RasterImage.LoadArgb64Pixels(Rectangle) , RasterImage.LoadPartialArgb64Pixels(Rectangle, IPartialArgb64PixelLoader) , RasterImage.LoadPixels(Rectangle) , RasterImage.LoadCmykPixels(Rectangle) , RasterImage.LoadCmyk32Pixels(Rectangle) , RasterImage.LoadRawData(Rectangle, RawDataSettings, IPartialRawDataLoader) , RasterImage.LoadRawData(Rectangle, Rectangle, RawDataSettings, IPartialRawDataLoader) , RasterImage.SaveRawData(byte[], int, Rectangle, RawDataSettings) , RasterImage.SaveArgb32Pixels(Rectangle, int[]) , RasterImage.SavePixels(Rectangle, Color[]) , RasterImage.SaveCmykPixels(Rectangle, CmykColor[]) , RasterImage.SaveCmyk32Pixels(Rectangle, int[]) , RasterImage.SetResolution(double, double) , RasterImage.SetPalette(IColorPalette, bool) , RasterImage.Resize(int, int, ImageResizeSettings) , RasterImage.Rotate(float, bool, Color) , RasterImage.Rotate(float) , RasterImage.BinarizeFixed(byte) , RasterImage.BinarizeOtsu() , RasterImage.BinarizeBradley(double) , RasterImage.BinarizeBradley(double, int) , RasterImage.Blend(Point, RasterImage, Rectangle, byte) , RasterImage.Blend(Point, RasterImage, byte) , RasterImage.Grayscale() , RasterImage.NormalizeHistogram() , RasterImage.AdjustBrightness(int) , RasterImage.AdjustContrast(float) , RasterImage.AdjustGamma(float, float, float) , RasterImage.AdjustGamma(float) , RasterImage.GetSkewAngle() , RasterImage.NormalizeAngle() , RasterImage.NormalizeAngle(bool, Color) , RasterImage.Filter(Rectangle, FilterOptionsBase) , RasterImage.ReplaceColor(Color, byte, Color) , RasterImage.ReplaceColor(int, byte, int) , RasterImage.ReplaceNonTransparentColors(Color) , RasterImage.ReplaceNonTransparentColors(int) , RasterImage.ToBitmap() , RasterImage.PremultiplyComponents , RasterImage.UseRawData , RasterImage.UpdateXmpData , RasterImage.XmpData , RasterImage.RawIndexedColorConverter , RasterImage.RawCustomColorConverter , RasterImage.RawFallbackIndex , RasterImage.RawDataSettings , RasterImage.UsePalette , RasterImage.RawDataFormat , RasterImage.RawLineSize , RasterImage.IsRawDataAvailable , RasterImage.HorizontalResolution , RasterImage.VerticalResolution , RasterImage.HasTransparentColor , RasterImage.HasAlpha , RasterImage.TransparentColor , RasterImage.ImageOpacity , Image.CanLoad(string) , Image.CanLoad(string, LoadOptions) , Image.CanLoad(Stream) , Image.CanLoad(Stream, LoadOptions) , Image.Create(ImageOptionsBase, int, int) , Image.Create(Image[]) , Image.Create(MultipageCreateOptions) , Image.Create(string[], bool) , Image.Create(string[]) , Image.Create(Image[], bool) , Image.GetFileFormat(string) , Image.GetFileFormat(Stream) , Image.GetFittingRectangle(Rectangle, int, int) , Image.GetFittingRectangle(Rectangle, int[], int, int) , Image.Load(string, LoadOptions) , Image.Load(string) , Image.Load(Stream, LoadOptions) , Image.Load(Stream) , Image.GetProportionalWidth(int, int, int) , Image.GetProportionalHeight(int, int, int) , Image.RemoveMetadata() , Image.CanSave(ImageOptionsBase) , Image.Resize(int, int) , Image.Resize(int, int, ResizeType) , Image.Resize(int, int, ImageResizeSettings) , Image.GetDefaultOptions(object[]) , Image.GetOriginalOptions() , Image.ResizeWidthProportionally(int) , Image.ResizeHeightProportionally(int) , Image.ResizeWidthProportionally(int, ResizeType) , Image.ResizeHeightProportionally(int, ResizeType) , Image.ResizeWidthProportionally(int, ImageResizeSettings) , Image.ResizeHeightProportionally(int, ImageResizeSettings) , Image.RotateFlip(RotateFlipType) , Image.Rotate(float) , Image.Crop(Rectangle) , Image.Crop(int, int, int, int) , Image.Save() , Image.Save(string) , Image.Save(string, ImageOptionsBase) , Image.Save(string, ImageOptionsBase, Rectangle) , Image.Save(Stream, ImageOptionsBase) , Image.Save(Stream, ImageOptionsBase, Rectangle) , Image.GetSerializedStream(ImageOptionsBase, Rectangle, out int) , Image.SetPalette(IColorPalette, bool) , Image.BitsPerPixel , Image.Bounds , Image.Container , Image.Height , Image.Palette , Image.UsePalette , Image.Size , Image.Width , Image.InterruptMonitor , Image.BufferSizeHint , Image.AutoAdjustPalette , Image.HasBackgroundColor , Image.FileFormat , Image.BackgroundColor , DataStreamSupporter.CacheData() , DataStreamSupporter.Save() , DataStreamSupporter.Save(Stream) , DataStreamSupporter.Save(string) , DataStreamSupporter.Save(string, bool) , DataStreamSupporter.DataStreamContainer , DataStreamSupporter.IsCached , DisposableObject.Dispose() , DisposableObject.Disposed , object.GetType() , object.ToString() , object.Equals(object?) , object.Equals(object?, object?) , object.ReferenceEquals(object?, object?) , object.GetHashCode()
Examples
Das folgende Beispiel zeigt, wie man das APNG-Dateiformat aus einem anderen nicht animierten Multi-Page-Format exportiert.
using Aspose.Imaging;
using Aspose.Imaging.ImageOptions;
using (Image image = Image.Load("img4.tif")) {
// Setting up the default frame duration
image.Save("img4.tif.500ms.png", new ApngOptions() { DefaultFrameTime = 500 }); // 500 ms
image.Save("img4.tif.250ms.png", new ApngOptions() { DefaultFrameTime = 250 }); // 250 ms
}
Das folgende Beispiel zeigt, wie man zum APNG-Dateiformat exportiert.
using Aspose.Imaging;
using Aspose.Imaging.ImageOptions;
using (Image image = Image.Load("Animation1.webp")) {
// Export to APNG animation with unlimited animation cycles as default
image.Save("Animation1.webp.png", new ApngOptions());
// Setting up animation cycles
image.Save("Animation2.webp.png", new ApngOptions() { NumPlays = 5 }); // 5 cycles
}
Das folgende Beispiel zeigt, wie man APNG-Bild aus einem anderen Raster-Single-Page-Bild erstellen kann.
using Aspose.Imaging;
using Aspose.Imaging.ImageOptions;
using Aspose.Imaging.FileFormats.Apng;
const int AnimationDuration = 1000; // 1 s
const int FrameDuration = 70; // 70 ms
using (RasterImage sourceImage = (RasterImage)Image.Load("not_animated.png"))
{
ApngOptions createOptions = new ApngOptions
{
Source = new FileCreateSource("raster_animation.png", false),
DefaultFrameTime = (uint)FrameDuration,
ColorType = PngColorType.TruecolorWithAlpha,
};
using (ApngImage apngImage = (ApngImage)Image.Create(
createOptions,
sourceImage.Width,
sourceImage.Height))
{
// It is possible to set image default frame time there: apngImage.DefaultFrameTime = (uint)FrameDuration;
int numOfFrames = AnimationDuration / FrameDuration;
int numOfFrames2 = numOfFrames / 2;
// Cleaning because the image contains one frame by default
apngImage.RemoveAllFrames();
// add first frame
apngImage.AddFrame(sourceImage);
// add intermediate frames
for (int frameIndex = 1; frameIndex < numOfFrames - 1; ++frameIndex)
{
apngImage.AddFrame(sourceImage);
ApngFrame lastFrame = (ApngFrame)apngImage.Pages[apngImage.PageCount - 1];
float gamma = frameIndex >= numOfFrames2 ? numOfFrames - frameIndex - 1 : frameIndex;
lastFrame.AdjustGamma(gamma);
}
// add last frame
apngImage.AddFrame(sourceImage);
apngImage.Save();
}
}
Constructors
ApngImage(ApngOptions, int, int)
Beginnen Sie mit der Aspose.Imaging.FileFormats.Apng.ApngImage-Klasse mit der InitialisierungEine neue Instanz ohne Mühe. Perfekt für Entwickler, die anfangen möchtenApngImage-Objekte schnell und effizient in ihren Projekten verwenden.
public ApngImage(ApngOptions options, int width, int height)
Parameters
options
ApngOptions
Die Optionen.
width
int
Die Breite.
height
int
Die Höhe.
Properties
DefaultFrameTime
Einfach die Standardframe-Laufzeit anpassen, um neue Frame zu erstellenDiese flexible Eigenschaft. Perfekt für Entwickler, die Frame Timing anpassen möchtenEffizient in ihren Animationen.
public uint DefaultFrameTime { get; set; }
Eigentumswert
Examples
Das folgende Beispiel zeigt, wie man APNG-Bild aus einem anderen Raster-Single-Page-Bild erstellen kann.
using Aspose.Imaging;
using Aspose.Imaging.ImageOptions;
using Aspose.Imaging.FileFormats.Apng;
const int AnimationDuration = 1000; // 1 s
const int FrameDuration = 70; // 70 ms
using (RasterImage sourceImage = (RasterImage)Image.Load("not_animated.png"))
{
ApngOptions createOptions = new ApngOptions
{
Source = new FileCreateSource("raster_animation.png", false),
DefaultFrameTime = (uint)FrameDuration,
ColorType = PngColorType.TruecolorWithAlpha,
};
using (ApngImage apngImage = (ApngImage)Image.Create(
createOptions,
sourceImage.Width,
sourceImage.Height))
{
// It is possible to set image default frame time there: apngImage.DefaultFrameTime = (uint)FrameDuration;
int numOfFrames = AnimationDuration / FrameDuration;
int numOfFrames2 = numOfFrames / 2;
// Cleaning because the image contains one frame by default
apngImage.RemoveAllFrames();
// add first frame
apngImage.AddFrame(sourceImage);
// add intermediate frames
for (int frameIndex = 1; frameIndex < numOfFrames - 1; ++frameIndex)
{
apngImage.AddFrame(sourceImage);
ApngFrame lastFrame = (ApngFrame)apngImage.Pages[apngImage.PageCount - 1];
float gamma = frameIndex >= numOfFrames2 ? numOfFrames - frameIndex - 1 : frameIndex;
lastFrame.AdjustGamma(gamma);
}
// add last frame
apngImage.AddFrame(sourceImage);
apngImage.Save();
}
}
FileFormat
Schneller Zugriff auf Informationen über das Dateiformat mit dieser bequemen Eigenschaft.Ideal für Entwickler, die Details über das Format erhalten müssenIhre Apng-Dateien sind einfach.
public override FileFormat FileFormat { get; }
Eigentumswert
Interlaced
Schnell bestimmen, ob dieses Aspose.Imaging.FileFormats.Png.PngImage Objekt interlinkt istmit dieser bequemen Immobilie. Ideal für Entwickler, die überprüfen müssender interlinking-status von PNG-bildern leicht.
public bool Interlaced { get; }
Eigentumswert
NumPlays
Schwierig kontrollieren Sie die Anzahl der Mal Ihre Animation fließt mit diesemvielseitige Eigenschaft. Perfekt für Entwickler, die eine genaue Kontrolle überAnimationsverhalten, mit Unterstützung für unendliche Laufung im Falle derDer Wert entspricht 0.
public int NumPlays { get; set; }
Eigentumswert
PageCount
Wiederherstellen Sie die Gesamtzahl der Seiten in Ihrem Bilddatei mit dieser Eigenschaft.Ideal für Entwickler, die schnellen Zugriff auf Seitenzahleninformationen benötigen.
public override int PageCount { get; }
Eigentumswert
Pages
Schwierig Zugriff auf die Seiten Ihres Bildes mit diesem bequemen Eigentum.Perfekt für Entwickler, die einen schnellen und einfachen Zugang zu einzelnen Seiten für Manipulation suchen.
public override Image[] Pages { get; }
Eigentumswert
Image [][]
XmpData
Effektiv verwalten Sie XMP-Metadaten, die mit Ihren Dateien verbunden sind, indem Sie diesevielseitige Eigenschaft. Perfekt für Entwickler, die Zugang oder Aktualisierung suchenMetadateninformationen mit Leichtigkeit.
public override XmpPacketWrapper XmpData { get; set; }
Eigentumswert
Methods
AddFrame()
Fügen Sie leicht einen neuen Rahmen am Ende Ihrer Frame-Kollektion mit diesemeinfache Methode. Ideal für Entwickler, die ihreFrame-Sammlung dynamisch für Animationen mit mehreren Frame-Bilder.Ein neues Rahmen wird nach der Größe des aktuellen Bildes erstellt.
public ApngFrame AddFrame()
Returns
Das neu erstellte APNG-Frame.
AddFrame(RasterImage)
Schnell erweitern Sie Ihre Frame-Kollektion, indem Sie ein neues Frame zum Ende hinzufügenmit dieser intuitiven Methode. Perfect für Entwickler, die ihreAnimationen von Multi-Frame-Bilder dynamisch.Die Inhalte des neuen Frames werden aus dem angegebenen Bild gefüllt.
public void AddFrame(RasterImage frameImage)
Parameters
frameImage
RasterImage
Das Frame Bild.
Examples
Das folgende Beispiel zeigt, wie man APNG-Bild aus einem anderen Raster-Single-Page-Bild erstellen kann.
using Aspose.Imaging;
using Aspose.Imaging.ImageOptions;
using Aspose.Imaging.FileFormats.Apng;
const int AnimationDuration = 1000; // 1 s
const int FrameDuration = 70; // 70 ms
using (RasterImage sourceImage = (RasterImage)Image.Load("not_animated.png"))
{
ApngOptions createOptions = new ApngOptions
{
Source = new FileCreateSource("raster_animation.png", false),
DefaultFrameTime = (uint)FrameDuration,
ColorType = PngColorType.TruecolorWithAlpha,
};
using (ApngImage apngImage = (ApngImage)Image.Create(
createOptions,
sourceImage.Width,
sourceImage.Height))
{
// It is possible to set image default frame time there: apngImage.DefaultFrameTime = (uint)FrameDuration;
int numOfFrames = AnimationDuration / FrameDuration;
int numOfFrames2 = numOfFrames / 2;
// Cleaning because the image contains one frame by default
apngImage.RemoveAllFrames();
// add first frame
apngImage.AddFrame(sourceImage);
// add intermediate frames
for (int frameIndex = 1; frameIndex < numOfFrames - 1; ++frameIndex)
{
apngImage.AddFrame(sourceImage);
ApngFrame lastFrame = (ApngFrame)apngImage.Pages[apngImage.PageCount - 1];
float gamma = frameIndex >= numOfFrames2 ? numOfFrames - frameIndex - 1 : frameIndex;
lastFrame.AdjustGamma(gamma);
}
// add last frame
apngImage.AddFrame(sourceImage);
apngImage.Save();
}
}
Exceptions
FrameImage ist null.
AddFrame(RasterImage, Uint)
Erweitern Sie Ihre Frame-Kollektion unbequem, indem Sie ein neues Frame an diemit dieser intuitiven Methode. Ideal für Entwickler, die ihreAnimationen von Multi-Frame-Bilder.Die Inhalte des neuen Frames werden aus dem angegebenen Bild gefüllt.
public void AddFrame(RasterImage frameImage, uint frameTime)
Parameters
frameImage
RasterImage
Das Frame Bild.
frameTime
uint
Die Frame Dauer, in Millisekunden.
Exceptions
FrameImage ist null.
AddPage(RasterImage)
Hinzufügen Sie mit dieser intuitiven Methode eine neue Seite an das Bild.Ideal für Entwickler, die den Inhalt ihrer Bilddateien dynamisch erweitern möchten.
public void AddPage(RasterImage page)
Parameters
page
RasterImage
Die Seite zu hinzufügen.
Exceptions
page’ is null.
AdjustBrightness(Int)
Einfach die Brightness’ des Bildes mit dieser intuitiven Methode anpassen, mit der angegebenen Brightness-Parameter. Ideal für Entwickler, die die Gesamtbrightness der Bilder dynamisch verbessern oder verringern möchten.
public override void AdjustBrightness(int brightness)
Parameters
brightness
int
Brightness Wert ist.
AdjustContrast(Flotte)
Verbessern Sie den Kontrast des Aspose.Imaging.Imageum Details mit dieser intuitiven Methode hervorzubringen. Ideal für Entwicklerum die visuelle Klarheit und Einfluss ihrer Bilder dynamisch zu verbessern.
public override void AdjustContrast(float contrast)
Parameters
contrast
float
Kontrastwert (in Range [-100; 100])
AdjustGamma(Flotte)
Anwendung von Gamma Korrektur auf das Bild mit einem Floating Point-Koeffizientmit dieser intuitiven Methode. Ideal für Entwickler, die eine genaue Farbkontrolle suchenin ihren Bildern.
public override void AdjustGamma(float gamma)
Parameters
gamma
float
Gamma für rote, grüne und blaue Kanäle Coefficient
AdjustGamma(Flotte, Flotte und Flotte)
Gamma Korrektur auf dem Bild separat für die roten, grünen und blauen Kanäle durchführenmit individuellen Koeffizienten mit dieser intuitiven Methode. Ideal für Entwickler, die suchenFine-Tune Farbbalance und Verbesserung der visuellen Qualität ihrer Bilder.
public override void AdjustGamma(float gammaRed, float gammaGreen, float gammaBlue)
Parameters
gammaRed
float
Gamma für den roten Kanalkoeffizient
gammaGreen
float
Gamma für Grünkanalkoeffizient
gammaBlue
float
Gamma für Blue Channel Coefficient
BinarizeBradley(Doppelt, Int)
Binarisierung eines Bildes mit Bradley’s adaptive Frontierungsalgorithmus mit der integrierten Bildfrontierung
public override void BinarizeBradley(double brightnessDifference, int windowSize)
Parameters
brightnessDifference
double
Der Lichtunterschied zwischen Pixel und dem Durchschnitt eines Pixelfensters s x sZentralisieren Sie sich um diesen Pixel.
windowSize
int
Die Größe des s x s Fensters von Pixeln, die um diesen Pixel zentriert sind
BinarizeFixed(byte)
Verspätlich binarisieren Sie das Bild mit einer vordefinierten Grenze mit diesemIntuitive Methode. Ideal für Entwickler, die Bilder in binäre Form konvertieren möchten,sie für weitere Verarbeitung oder Analyse vereinfachen.
public override void BinarizeFixed(byte threshold)
Parameters
threshold
byte
Wenn der entsprechende graue Wert eines Pixels größer ist als der Grenzwert,255 wird dazu zugeordnet, 0 anders.
BinarizeOtsu()
Durchführen Sie die Binarisierung auf dem Bild mit Otsu-Grenze mit dieser intuitiven Methode.Ideal für Entwickler, die automatisch die optimale Grenze fürUmwandeln von Bildern in binäre Formen, Verbesserung ihrer Klarheit und Anpassbarkeit für weitere Analyse.
public override void BinarizeOtsu()
Crop(Rectangle)
Verspätet das Bild zu pflanzen, um sich auf bestimmte Bereiche mit dieser intuitiven Methode zu konzentrieren.Perfekt für Entwickler, die die Zusammensetzung ihrer Bilder dynamisch verbessern möchten.
public override void Crop(Rectangle rectangle)
Parameters
rectangle
Rectangle
Die rechte Ecke.
Crop(Int, int, int, int)
Pflanzen Sie das Bild während der Anpassung von Schwankungen mit dieser intuitiven Methode.Ideal für Entwickler, die eine genaue Kontrolle über den Ernteprozess suchenKonzentrieren Sie sich auf spezifische Bereiche Ihrer Apng-Bilder.
public override void Crop(int leftShift, int rightShift, int topShift, int bottomShift)
Parameters
leftShift
int
Die Linke wechseln.
rightShift
int
Der richtige Wandel.
topShift
int
Der Top Shift.
bottomShift
int
Der unteren Wandel.
Dither(DitheringMethod, int, IColorPalette)
Mit dieser intuitiven Methode können die Dithering-Effekte auf das aktuelle Bild leicht angewendet werden.Ideal für Entwickler, die Textur hinzufügen oder die Farbbindung in ihren Bildern reduzieren möchten.
public override void Dither(DitheringMethod ditheringMethod, int bitsCount, IColorPalette customPalette)
Parameters
ditheringMethod
DitheringMethod
Die Dithering Methode.
bitsCount
int
Die letzten Bits zählen für Dithering.
customPalette
IColorPalette
Die gewöhnliche Palette für Dithering.
Filter(Rectangle, FilterOptionsBase)
Verspätend filtern auf den angegebenen rechteck des bildens mit diesemIntuitive Methode. Perfect für Entwickler, die bestimmte Bereiche verbessern oder ändern möchten.
public override void Filter(Rectangle rectangle, FilterOptionsBase options)
Parameters
rectangle
Rectangle
Die rechte Ecke.
options
FilterOptionsBase
Die Optionen.
GetDefaultOptions(Objekt[])
Wiederherstellen Sie die Standard-Optionen mit dieser einfachen Methode.Ideal für Entwickler, die einen schnellen Zugang zu standardmäßigen Apng-Bild-Einstellungen suchen.
public override ImageOptionsBase GetDefaultOptions(object[] args)
Parameters
args
object
[][]
Die Argumente.
Returns
Default Optionen
GetModifyDate(Bool)
Erhalten Sie schnell das Datum und die Uhrzeit, zu dem das Ressourcenbild zuletzt geändert wurdemit dieser benutzerfreundlichen Methode. Ideal für Entwickler, die Änderungen verfolgen müssenund Ressourcen effizient verwalten.
public override DateTime GetModifyDate(bool useDefault)
Parameters
useDefault
bool
Wenn Sie auf ’true’ eingestellt sind, verwenden Sie die Informationen aus FileInfo als Standardwert.
Returns
Das Datum und die Uhrzeit des Ressourcenbildes wurde zuletzt geändert.
GetOriginalOptions()
Retrieve Optionen auf der Grundlage der ursprünglichen Datei-Einstellungen mit dieser intuitiven Methode.Perfekt für Entwickler, die Zugang und Nutzung von Einstellungen suchen, die mit den Merkmalen abgestimmt sindvon der ursprünglichen Datei.Dies kann hilfreich sein, Bit-Dichte und andere Parameter des ursprünglichen Bildes unverändert zu halten.Zum Beispiel, wenn wir ein schwarz-weißes PNG-Bild mit 1 Bit pro Pixel laden und es dann mit derAspose.Imaging.DataStreamSupporter.Save(System.String) Methode, wird das Ausgang PNG Bild mit 8-Bit pro Pixel produziert.Um es zu vermeiden und PNG-Bild mit 1 Bit pro Pixel zu speichern, verwenden Sie diese Methode, um die entsprechenden Speicheroptionen zu erhalten und sie durchzuführen.auf die Aspose.Imaging.Image.Save(System.String,Aspose.Imaging.ImageOptionsBase) Methode als den zweiten Parameter.
public override ImageOptionsBase GetOriginalOptions()
Returns
Die Optionen basieren auf den ursprünglichen Dateiinstellungen.
GetPagesAsEnumerable()
Sie erhalten die Seiten als Nummerierbar.
protected override IEnumerable<image/> GetPagesAsEnumerable()
Returns
IEnumerable &undlt; Image >
Ihre eigenen Seiten wie aufgezeichnet.
Grayscale()
Einfach umwandeln Sie das Bild in seine grayscale Darstellung mit dieser intuitiven Methode.Ideal für Entwickler, die Farbbilder in grayscale umwandeln möchten, indem sie ihreVisualisierung oder Analyse.
public override void Grayscale()
InsertFrame(Int)
Verspätlich ein neues Rahmen in Ihre Frame-Kollektion bei der angegebenenmit dieser intuitiven Methode. Ideal für Entwickler, die eine genaue Kontrolle überdie Ordnung der Frame in ihren Animationen von Multi-Frame-Bilder.Ein neues Rahmen wird nach der Größe des aktuellen Bildes erstellt.
public ApngFrame InsertFrame(int index)
Parameters
index
int
Und der Index.
Returns
Das neu erstellte APNG-Frame.
Exceptions
index’ is less than 0.or
index’ is greater than Aspose.Imaging.FileFormats.Apng.ApngImage.PageCount.
InsertFrame(Veröffentlicht, RasterImage)
Einfügen Sie ein neues Frame in die eigene Frame-Kollektion am angegebenen Index.Die Inhalte des neuen Frames werden aus dem angegebenen Bild gefüllt.
public void InsertFrame(int index, RasterImage frameImage)
Parameters
index
int
Und der Index.
frameImage
RasterImage
Das Frame Bild.
Exceptions
index’ is less than 0.or
index’ is greater than Aspose.Imaging.FileFormats.Apng.ApngImage.PageCount.
FrameImage ist null.
InsertFrame(In, RasterImage, Uint)
Einfügen Sie ein neues Frame in die eigene Frame-Kollektion am angegebenen Index.Die Inhalte des neuen Frames werden aus dem angegebenen Bild gefüllt.
public void InsertFrame(int index, RasterImage frameImage, uint frameTime)
Parameters
index
int
Und der Index.
frameImage
RasterImage
Das Frame Bild.
frameTime
uint
Die Frame Dauer, in Millisekunden.
Exceptions
index’ is less than 0.or
index’ is greater than Aspose.Imaging.FileFormats.Apng.ApngImage.PageCount.
FrameImage ist null.
PopFrameAt(Int)
Entfernen und Entfernen der Frame am angegebenen Index aus Ihrer Frame-Kollektionmit dieser intuitiven Methode. Perfekt für Entwickler, die ein effizientes Management suchenFrame in ihren Animationen.
public ApngFrame PopFrameAt(int index)
Parameters
index
int
Und der Index.
Returns
Entfernung des APNG Frames.
Exceptions
index’ is less than 0.or
index’ is equal to or greater than Aspose.Imaging.FileFormats.Apng.ApngImage.PageCount.
ReleaseManagedResources()
Stellen Sie sicher, dass keine nicht verwalteten Ressourcen hier veröffentlicht werden, da sie möglicherweisebereits freigelassen.
protected override void ReleaseManagedResources()
RemoveAllFrames()
Entfernen Sie Ihre Frame-Kollektion, indem Sie alle Frame mit dieser intuitiven Methode entfernen.Ideal für Entwickler, die ihre Animationen neu aufstellen oder erneuern möchten.
public void RemoveAllFrames()
Examples
Das folgende Beispiel zeigt, wie man APNG-Bild aus einem anderen Raster-Single-Page-Bild erstellen kann.
using Aspose.Imaging;
using Aspose.Imaging.ImageOptions;
using Aspose.Imaging.FileFormats.Apng;
const int AnimationDuration = 1000; // 1 s
const int FrameDuration = 70; // 70 ms
using (RasterImage sourceImage = (RasterImage)Image.Load("not_animated.png"))
{
ApngOptions createOptions = new ApngOptions
{
Source = new FileCreateSource("raster_animation.png", false),
DefaultFrameTime = (uint)FrameDuration,
ColorType = PngColorType.TruecolorWithAlpha,
};
using (ApngImage apngImage = (ApngImage)Image.Create(
createOptions,
sourceImage.Width,
sourceImage.Height))
{
// It is possible to set image default frame time there: apngImage.DefaultFrameTime = (uint)FrameDuration;
int numOfFrames = AnimationDuration / FrameDuration;
int numOfFrames2 = numOfFrames / 2;
// Cleaning because the image contains one frame by default
apngImage.RemoveAllFrames();
// add first frame
apngImage.AddFrame(sourceImage);
// add intermediate frames
for (int frameIndex = 1; frameIndex < numOfFrames - 1; ++frameIndex)
{
apngImage.AddFrame(sourceImage);
ApngFrame lastFrame = (ApngFrame)apngImage.Pages[apngImage.PageCount - 1];
float gamma = frameIndex >= numOfFrames2 ? numOfFrames - frameIndex - 1 : frameIndex;
lastFrame.AdjustGamma(gamma);
}
// add last frame
apngImage.AddFrame(sourceImage);
apngImage.Save();
}
}
RemoveFrameAt(Int)
Entfernen Sie den Rahmen auf dem angegebenen Index aus Ihrer Frame-Kollektion unbequemPerfekt für Entwickler, die auf der Suche nach gestreutem Rahmenmanagementin ihren Multi-Frame-Bilder.Der Rahmen, der gelöscht wird, wird gelöscht.
public void RemoveFrameAt(int index)
Parameters
index
int
Und der Index.
Exceptions
index’ is less than 0.or
index’ is equal to or greater than Aspose.Imaging.FileFormats.Apng.ApngImage.PageCount.
ResetDefaultImage()
Entfernen Sie mit dieser intuitiven Methode ein vorher festgelegtes Standardbild.Ideal für Entwickler, die das Standardbild in ihrer Animation neu einstellen oder löschen möchten.Danach ist das Standardbild das erste Rahmen in der eigenen Frame-Kollektion.(Es kann nicht mit dieser Methode gelöscht werden).
public void ResetDefaultImage()
Resize(int, int, ResizeType)
Wiederherstellen Sie das Bild mit dieser intuitiven Methode. Perfekt für EntwicklerSie versuchen, die Dimensionen ihrer Bilder dynamisch anzupassen.
public override void Resize(int newWidth, int newHeight, ResizeType resizeType)
Parameters
newWidth
int
Die neue Breite.
newHeight
int
Die neue Höhe.
resizeType
ResizeType
Die Resize Art.
Resize(int, int, ImageResizeSettings)
Wiederherstellen des Bildes.
public override void Resize(int newWidth, int newHeight, ImageResizeSettings settings)
Parameters
newWidth
int
Die neue Breite.
newHeight
int
Die neue Höhe.
settings
ImageResizeSettings
Die Resize Einstellungen.
ResizeHeightProportionally(Rückschlag, Rückschlag)
Schnell die Höhe Ihres Bildes anpassen und gleichzeitig seine Proportionen beibehaltenmit dieser intuitiven Methode. Perfekt für Entwickler, die Bilder neu bearbeiten möchtenDynamisch, während ihr Aspektverhältnis beibehalten.
public override void ResizeHeightProportionally(int newHeight, ResizeType resizeType)
Parameters
newHeight
int
Die neue Höhe.
resizeType
ResizeType
Typ der Resize.
ResizeWidthProportionally(Rückschlag, Rückschlag)
Verhältnismäßig die Breite des Bildes mit dieser intuitiven Methode anstrengend abschrecken.Ideal für Entwickler, die das Aspektverhältnis ihrer Bilder beibehalten möchten, währendAnpassung ihrer Dimensionen.
public override void ResizeWidthProportionally(int newWidth, ResizeType resizeType)
Parameters
newWidth
int
Die neue Breite.
resizeType
ResizeType
Typ der Resize.
Rotate(Float, Bool, Farbe)
Drehen Sie das Bild um sein Zentrum ohne Mühe mit dieser intuitiven Methode.Ideal für Entwickler, die die Orientierung ihrer Bilder dynamisch anpassen möchten.
public override void Rotate(float angle, bool resizeProportionally, Color backgroundColor)
Parameters
angle
float
Der Rotationswinkel in Grad. Positive Werte werden die Uhr drehen.
resizeProportionally
bool
Wenn Sie auf ’true’ festgelegt sind, ändert sich Ihre Bildgröße nach rotierten rektangeln (Kornpunkte) Projektionen in anderen Fällen, die Dimensionen unberührt lassen und nur interne Bildgehalte rotierten.
backgroundColor
Color
Farbe des Hintergrunds.
RotateFlip(RotateFlipType)
Schwierig manipulieren Sie den aktiven Rahmen, indem Sie rotieren, fliegen oder beidemit dieser intuitiven Methode. Ideal für Entwickler, die sich anpassen möchtenBildframe Orientierungen.
public override void RotateFlip(RotateFlipType rotateFlipType)
Parameters
rotateFlipType
RotateFlipType
Der Rotate Flip Typ.
SaveData(Stream)
Sparen Sie die Daten.
protected override void SaveData(Stream stream)
Parameters
stream
Stream
Der Stream, um die Daten zu speichern.
SetDefaultImage(RasterImage)
Setzen Sie die angegebenen Raster-Bild als Standard-Bild für die aktuelle Animationanstrengend mit dieser Methode. Perfekt für Entwickler, die sich anpassen möchtenDas Standardbild in ihren Animationen.
public void SetDefaultImage(RasterImage image)
Parameters
image
RasterImage
Das Bild.
Exceptions
Das Bild ist null.
UpdateDimensions(und int, int)
Aktualisieren Sie die Bilddimensionen.
protected override void UpdateDimensions(int newWidth, int newHeight)
Parameters
newWidth
int
Die neue Bildweite.
newHeight
int
Die neue Bildhöhe.
UpdateMetadata()
Aktualisieren Sie die Bildmetadata.
protected override void UpdateMetadata()