Class ApngImage

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

uint

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

FileFormat

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

bool

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

int

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

int

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

XmpPacketWrapper

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

ApngFrame

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

ArgumentNullException

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

ArgumentNullException

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

ArgumentNullException

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

ImageOptionsBase

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

DateTime

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

ImageOptionsBase

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

ApngFrame

Das neu erstellte APNG-Frame.

Exceptions

ArgumentOutOfRangeException

index’ is less than 0.orindex’ 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

ArgumentOutOfRangeException

index’ is less than 0.orindex’ is greater than Aspose.Imaging.FileFormats.Apng.ApngImage.PageCount.

ArgumentNullException

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

ArgumentOutOfRangeException

index’ is less than 0.orindex’ is greater than Aspose.Imaging.FileFormats.Apng.ApngImage.PageCount.

ArgumentNullException

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

ApngFrame

Entfernung des APNG Frames.

Exceptions

ArgumentOutOfRangeException

index’ is less than 0.orindex’ 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 &lt; numOfFrames - 1; ++frameIndex)
                                                                                                              {
                                                                                                                  apngImage.AddFrame(sourceImage);
                                                                                                                  ApngFrame lastFrame = (ApngFrame)apngImage.Pages[apngImage.PageCount - 1];
                                                                                                                  float gamma = frameIndex &gt;= 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

ArgumentOutOfRangeException

index’ is less than 0.orindex’ 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

ArgumentNullException

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