Class ApngImage

Class ApngImage

Nombre del espacio: Aspose.Imaging.FileFormats.Apng Asamblea: Aspose.Imaging.dll (25.4.0)

El archivo de imagen de PNG (Animated Portable Network Graphics)El formato es una solución versátil para los desarrolladores que buscan integrarcontenido animado en sus aplicaciones. esta API ofrece una extensacontrol sobre las configuraciones del marco, permitiendo a los usuarios definir el marco específicoparámetros, incluida la duración del loop y las configuraciones de archivo PNG.herramienta rica en funciones, puede gestionar y optimizar sin esfuerzo la pantallade las imágenes APNG, las imágenes de importación y exportación, mejorando la dinámica yaspectos interactivos de sus aplicaciones.

[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 ,y, IObjectWithBounds ,y, IRasterImageArgb32PixelLoader ,y, IRasterImageRawDataLoader ,y, IHasXmpData ,y, IHasMetadata ,y, IMultipageImageExt ,y, IMultipageImage

Miembros heredados

RasterCachedMultipageImage.AdjustBrightness(int) ,y, RasterCachedMultipageImage.AdjustContrast(float) ,y, RasterCachedMultipageImage.AdjustGamma(float, float, float) ,y, RasterCachedMultipageImage.AdjustGamma(float) ,y, RasterCachedMultipageImage.Blend(Point, RasterImage, Rectangle, byte) ,y, RasterCachedMultipageImage.BinarizeFixed(byte) ,y, RasterCachedMultipageImage.BinarizeBradley(double, int) ,y, RasterCachedMultipageImage.BinarizeBradley(double) ,y, RasterCachedMultipageImage.BinarizeOtsu() ,y, RasterCachedMultipageImage.Crop(Rectangle) ,y, RasterCachedMultipageImage.Crop(int, int, int, int) ,y, RasterCachedMultipageImage.Dither(DitheringMethod, int, IColorPalette) ,y, RasterCachedMultipageImage.Grayscale() ,y, RasterCachedMultipageImage.NormalizeHistogram() ,y, RasterCachedMultipageImage.Rotate(float, bool, Color) ,y, RasterCachedMultipageImage.RotateFlip(RotateFlipType) ,y, RasterCachedMultipageImage.RotateFlipAll(RotateFlipType) ,y, RasterCachedMultipageImage.Resize(int, int, ResizeType) ,y, RasterCachedMultipageImage.Resize(int, int, ImageResizeSettings) ,y, RasterCachedMultipageImage.ResizeWidthProportionally(int, ResizeType) ,y, RasterCachedMultipageImage.ResizeHeightProportionally(int, ResizeType) ,y, RasterCachedMultipageImage.ReplaceColor(int, byte, int) ,y, RasterCachedMultipageImage.ReplaceNonTransparentColors(int) ,y, RasterCachedMultipageImage.Filter(Rectangle, FilterOptionsBase) ,y, RasterCachedMultipageImage.NormalizeAngle(bool, Color) ,y, RasterCachedMultipageImage.CacheData() ,y, RasterCachedMultipageImage.GetSerializedStream(ImageOptionsBase, Rectangle, out int) ,y, RasterCachedMultipageImage.Height ,y, RasterCachedMultipageImage.Width ,y, RasterCachedMultipageImage.BitsPerPixel ,y, RasterCachedMultipageImage.IsCached ,y, RasterCachedMultipageImage.PageCount ,y, RasterCachedMultipageImage.Pages ,y, RasterCachedMultipageImage.HasAlpha ,y, RasterCachedMultipageImage.HasTransparentColor ,y, RasterCachedMultipageImage.ImageOpacity ,y, RasterCachedMultipageImage.BackgroundColor ,y, RasterCachedMultipageImage.XmpData ,y, RasterCachedMultipageImage.PageExportingAction ,y, RasterCachedImage.CacheData() ,y, RasterCachedImage.Blend(Point, RasterImage, Rectangle, byte) ,y, RasterCachedImage.Resize(int, int, ResizeType) ,y, RasterCachedImage.Resize(int, int, ImageResizeSettings) ,y, RasterCachedImage.RotateFlip(RotateFlipType) ,y, RasterCachedImage.Rotate(float, bool, Color) ,y, RasterCachedImage.Crop(Rectangle) ,y, RasterCachedImage.Dither(DitheringMethod, int, IColorPalette) ,y, RasterCachedImage.Grayscale() ,y, RasterCachedImage.NormalizeHistogram() ,y, RasterCachedImage.BinarizeFixed(byte) ,y, RasterCachedImage.BinarizeOtsu() ,y, RasterCachedImage.BinarizeBradley(double, int) ,y, RasterCachedImage.BinarizeBradley(double) ,y, RasterCachedImage.AdjustBrightness(int) ,y, RasterCachedImage.AdjustContrast(float) ,y, RasterCachedImage.AdjustGamma(float, float, float) ,y, RasterCachedImage.AdjustGamma(float) ,y, RasterCachedImage.IsCached ,y, RasterImage.RemoveMetadata() ,y, RasterImage.Save(Stream, ImageOptionsBase, Rectangle) ,y, RasterImage.GetModifyDate(bool) ,y, RasterImage.Dither(DitheringMethod, int) ,y, RasterImage.Dither(DitheringMethod, int, IColorPalette) ,y, RasterImage.GetDefaultPixels(Rectangle, IPartialArgb32PixelLoader) ,y, RasterImage.GetDefaultRawData(Rectangle, IPartialRawDataLoader, RawDataSettings) ,y, RasterImage.GetDefaultArgb32Pixels(Rectangle) ,y, RasterImage.GetDefaultRawData(Rectangle, RawDataSettings) ,y, RasterImage.GetArgb32Pixel(int, int) ,y, RasterImage.GetPixel(int, int) ,y, RasterImage.SetArgb32Pixel(int, int, int) ,y, RasterImage.SetPixel(int, int, Color) ,y, RasterImage.ReadScanLine(int) ,y, RasterImage.ReadArgb32ScanLine(int) ,y, RasterImage.WriteScanLine(int, Color[]) ,y, RasterImage.WriteArgb32ScanLine(int, int[]) ,y, RasterImage.LoadPartialArgb32Pixels(Rectangle, IPartialArgb32PixelLoader) ,y, RasterImage.LoadPartialPixels(Rectangle, IPartialPixelLoader) ,y, RasterImage.LoadArgb32Pixels(Rectangle) ,y, RasterImage.LoadArgb64Pixels(Rectangle) ,y, RasterImage.LoadPartialArgb64Pixels(Rectangle, IPartialArgb64PixelLoader) ,y, RasterImage.LoadPixels(Rectangle) ,y, RasterImage.LoadCmykPixels(Rectangle) ,y, RasterImage.LoadCmyk32Pixels(Rectangle) ,y, RasterImage.LoadRawData(Rectangle, RawDataSettings, IPartialRawDataLoader) ,y, RasterImage.LoadRawData(Rectangle, Rectangle, RawDataSettings, IPartialRawDataLoader) ,y, RasterImage.SaveRawData(byte[], int, Rectangle, RawDataSettings) ,y, RasterImage.SaveArgb32Pixels(Rectangle, int[]) ,y, RasterImage.SavePixels(Rectangle, Color[]) ,y, RasterImage.SaveCmykPixels(Rectangle, CmykColor[]) ,y, RasterImage.SaveCmyk32Pixels(Rectangle, int[]) ,y, RasterImage.SetResolution(double, double) ,y, RasterImage.SetPalette(IColorPalette, bool) ,y, RasterImage.Resize(int, int, ImageResizeSettings) ,y, RasterImage.Rotate(float, bool, Color) ,y, RasterImage.Rotate(float) ,y, RasterImage.BinarizeFixed(byte) ,y, RasterImage.BinarizeOtsu() ,y, RasterImage.BinarizeBradley(double) ,y, RasterImage.BinarizeBradley(double, int) ,y, RasterImage.Blend(Point, RasterImage, Rectangle, byte) ,y, RasterImage.Blend(Point, RasterImage, byte) ,y, RasterImage.Grayscale() ,y, RasterImage.NormalizeHistogram() ,y, RasterImage.AdjustBrightness(int) ,y, RasterImage.AdjustContrast(float) ,y, RasterImage.AdjustGamma(float, float, float) ,y, RasterImage.AdjustGamma(float) ,y, RasterImage.GetSkewAngle() ,y, RasterImage.NormalizeAngle() ,y, RasterImage.NormalizeAngle(bool, Color) ,y, RasterImage.Filter(Rectangle, FilterOptionsBase) ,y, RasterImage.ReplaceColor(Color, byte, Color) ,y, RasterImage.ReplaceColor(int, byte, int) ,y, RasterImage.ReplaceNonTransparentColors(Color) ,y, RasterImage.ReplaceNonTransparentColors(int) ,y, RasterImage.ToBitmap() ,y, RasterImage.PremultiplyComponents ,y, RasterImage.UseRawData ,y, RasterImage.UpdateXmpData ,y, RasterImage.XmpData ,y, RasterImage.RawIndexedColorConverter ,y, RasterImage.RawCustomColorConverter ,y, RasterImage.RawFallbackIndex ,y, RasterImage.RawDataSettings ,y, RasterImage.UsePalette ,y, RasterImage.RawDataFormat ,y, RasterImage.RawLineSize ,y, RasterImage.IsRawDataAvailable ,y, RasterImage.HorizontalResolution ,y, RasterImage.VerticalResolution ,y, RasterImage.HasTransparentColor ,y, RasterImage.HasAlpha ,y, RasterImage.TransparentColor ,y, RasterImage.ImageOpacity ,y, Image.CanLoad(string) ,y, Image.CanLoad(string, LoadOptions) ,y, Image.CanLoad(Stream) ,y, Image.CanLoad(Stream, LoadOptions) ,y, Image.Create(ImageOptionsBase, int, int) ,y, Image.Create(Image[]) ,y, Image.Create(MultipageCreateOptions) ,y, Image.Create(string[], bool) ,y, Image.Create(string[]) ,y, Image.Create(Image[], bool) ,y, Image.GetFileFormat(string) ,y, Image.GetFileFormat(Stream) ,y, Image.GetFittingRectangle(Rectangle, int, int) ,y, Image.GetFittingRectangle(Rectangle, int[], int, int) ,y, Image.Load(string, LoadOptions) ,y, Image.Load(string) ,y, Image.Load(Stream, LoadOptions) ,y, Image.Load(Stream) ,y, Image.GetProportionalWidth(int, int, int) ,y, Image.GetProportionalHeight(int, int, int) ,y, Image.RemoveMetadata() ,y, Image.CanSave(ImageOptionsBase) ,y, Image.Resize(int, int) ,y, Image.Resize(int, int, ResizeType) ,y, Image.Resize(int, int, ImageResizeSettings) ,y, Image.GetDefaultOptions(object[]) ,y, Image.GetOriginalOptions() ,y, Image.ResizeWidthProportionally(int) ,y, Image.ResizeHeightProportionally(int) ,y, Image.ResizeWidthProportionally(int, ResizeType) ,y, Image.ResizeHeightProportionally(int, ResizeType) ,y, Image.ResizeWidthProportionally(int, ImageResizeSettings) ,y, Image.ResizeHeightProportionally(int, ImageResizeSettings) ,y, Image.RotateFlip(RotateFlipType) ,y, Image.Rotate(float) ,y, Image.Crop(Rectangle) ,y, Image.Crop(int, int, int, int) ,y, Image.Save() ,y, Image.Save(string) ,y, Image.Save(string, ImageOptionsBase) ,y, Image.Save(string, ImageOptionsBase, Rectangle) ,y, Image.Save(Stream, ImageOptionsBase) ,y, Image.Save(Stream, ImageOptionsBase, Rectangle) ,y, Image.GetSerializedStream(ImageOptionsBase, Rectangle, out int) ,y, Image.SetPalette(IColorPalette, bool) ,y, Image.BitsPerPixel ,y, Image.Bounds ,y, Image.Container ,y, Image.Height ,y, Image.Palette ,y, Image.UsePalette ,y, Image.Size ,y, Image.Width ,y, Image.InterruptMonitor ,y, Image.BufferSizeHint ,y, Image.AutoAdjustPalette ,y, Image.HasBackgroundColor ,y, Image.FileFormat ,y, Image.BackgroundColor ,y, DataStreamSupporter.CacheData() ,y, DataStreamSupporter.Save() ,y, DataStreamSupporter.Save(Stream) ,y, DataStreamSupporter.Save(string) ,y, DataStreamSupporter.Save(string, bool) ,y, DataStreamSupporter.DataStreamContainer ,y, DataStreamSupporter.IsCached ,y, DisposableObject.Dispose() ,y, DisposableObject.Disposed ,y, object.GetType() ,y, object.ToString() ,y, object.Equals(object?) ,y, object.Equals(object?, object?) ,y, object.ReferenceEquals(object?, object?) ,y, object.GetHashCode()

Examples

El siguiente ejemplo muestra cómo exportar el formato de archivo APNG de otros formatos multipáginas no animados.

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
                                                                                                                     }

El siguiente ejemplo muestra cómo exportar al formato de archivo APNG.

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
                                                                         }

El siguiente ejemplo muestra cómo crear una imagen APNG de otra imagen de una página única de raster.

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(Opciones, int, int)

Comience a trabajar con la clase Aspose.Imaging.FileFormats.Apng.ApngImage iniciandouna nueva instancia sin esfuerzo. perfecto para los desarrolladores que buscan comenzarutilizar Objetos ApngImage de forma rápida y eficiente en sus proyectos.

public ApngImage(ApngOptions options, int width, int height)

Parameters

options ApngOptions

Las opciones.

width int

de la amplitud.

height int

La altura.

Properties

DefaultFrameTime

Ajuste fácilmente la duración del cuadro por defecto para crear nuevos cuadros conEsta propiedad flexible. Perfecto para los desarrolladores que buscan personalizar el tiempo del marcoeficientemente en sus animaciones.

public uint DefaultFrameTime { get; set; }

Valor de la propiedad

uint

Examples

El siguiente ejemplo muestra cómo crear una imagen APNG de otra imagen de una página única de raster.

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

Acceso rápido a la información sobre el formato de archivo con esta propiedad conveniente.Ideal para los desarrolladores que necesitan obtener detalles sobre el formatode sus archivos APNG fácilmente.

public override FileFormat FileFormat { get; }

Valor de la propiedad

FileFormat

Interlaced

Determina rápidamente si este objeto Aspose.Imaging.FileFormats.Png.PngImage está interligadocon esta propiedad conveniente. ideal para los desarrolladores que necesitan comprobarel estado de interconexión de las imágenes PNG fácilmente.

public bool Interlaced { get; }

Valor de la propiedad

bool

NumPlays

Controlar sin esfuerzo el número de veces que su animación corre con estepropiedad versátil. Perfecto para los desarrolladores que buscan control preciso sobrecomportamiento de animación, con soporte para la inclinación infinita en el caso de laEl valor es igual a 0.

public int NumPlays { get; set; }

Valor de la propiedad

int

PageCount

Retirar el número total de páginas en su archivo de imagen sin esfuerzo con esta propiedad.Ideal para los desarrolladores que necesitan acceso rápido a la información de cuenta de página.

public override int PageCount { get; }

Valor de la propiedad

int

Pages

Acceso sin esfuerzo a las páginas de su imagen con esta propiedad conveniente.Perfecto para los desarrolladores que buscan acceso rápido y fácil a páginas individuales para manipulación.

public override Image[] Pages { get; }

Valor de la propiedad

Image [][]

XmpData

Gestionar fácilmente los metadatos XMP asociados con sus archivos utilizando estepropiedad versátil. Perfecto para los desarrolladores que buscan acceder o actualizarInformación de metadatos con facilidad.

public override XmpPacketWrapper XmpData { get; set; }

Valor de la propiedad

XmpPacketWrapper

Methods

AddFrame()

Añadir fácilmente un nuevo marco al final de su colección de marco con estemétodo sencillo. ideal para los desarrolladores que buscan expandir suColección de cuadros dinámica para animaciones con imágenes multi-frame.Se creará un nuevo marco según el tamaño de la imagen actual.

public ApngFrame AddFrame()

Returns

ApngFrame

El nuevo marco APNG creado.

AddFrame(RasterImage)

Desafortunadamente expandir su colección de marco añadiendo un nuevo marco al finalcon este método intuitivo. perfecto para los desarrolladores que buscan mejorar suAnimaciones de imágenes multi-frame dinámicas.Los contenidos del nuevo marco se llenarán de la imagen especificada.

public void AddFrame(RasterImage frameImage)

Parameters

frameImage RasterImage

La imagen del marco.

Examples

El siguiente ejemplo muestra cómo crear una imagen APNG de otra imagen de una página única de raster.

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

El frameImage es nulo.

AddFrame(Cortesía, uint)

Expandir su colección de cuadros sin sentido al añadir un nuevo cuadro a lacon este método intuitivo. ideal para los desarrolladores que buscan enriquecer suAnimación de imágenes multi-frame.Los contenidos del nuevo marco se llenarán de la imagen especificada.

public void AddFrame(RasterImage frameImage, uint frameTime)

Parameters

frameImage RasterImage

La imagen del marco.

frameTime uint

Duración del marco, en milisegundos.

Exceptions

ArgumentNullException

El frameImage es nulo.

AddPage(RasterImage)

Añadir una nueva página a la imagen sin esfuerzo con este método intuitivo.Perfecto para los desarrolladores que buscan expandir dinámicamente el contenido de sus archivos de imagen.

public void AddPage(RasterImage page)

Parameters

page RasterImage

La página para añadir.

Exceptions

ArgumentNullException

page’ is null.

AdjustBrightness(Int)

Agregar fácilmente la luminosidad de la imagen con este método intuitivo, utilizando el parámetro de luminosidad especificado. ideal para los desarrolladores que buscan mejorar o degradar la luminosidad global de las imágenes dinámicamente.

public override void AdjustBrightness(int brightness)

Parameters

brightness int

Valor de brillo.

AdjustContrast(float)

Mejora el contraste de Aspose.Imaging.Imagepara hacer que los detalles se destaquen con este método intuitivo. ideal para los desarrolladoresBuscando mejorar la claridad visual y el impacto de sus imágenes dinámicamente.

public override void AdjustContrast(float contrast)

Parameters

contrast float

Valor de contraste (en rango [-100; 100])

AdjustGamma(float)

Aplique la corrección de gama a la imagen utilizando un coeficiente de punto flotanteIdeal para los desarrolladores que buscan un control de color precisoen sus imágenes.

public override void AdjustGamma(float gamma)

Parameters

gamma float

Gamma para los canales rojo, verde y azul coeficiente

AdjustGamma(float, float y float)

Performan la corrección gamma en la imagen por separado para los canales rojo, verde y azulutilizar coeficientes individuales con este método intuitivo. ideal para los desarrolladores que buscanpara equilibrar el color y mejorar la calidad visual de sus imágenes.

public override void AdjustGamma(float gammaRed, float gammaGreen, float gammaBlue)

Parameters

gammaRed float

Gamma para el coeficiente de canal rojo

gammaGreen float

Gamma para el coeficiente de canal verde

gammaBlue float

Gamma para el coeficiente de canal azul

BinarizeBradley(El doble, int)

Binarización de una imagen utilizando el algoritmo de límite adaptativo de Bradley utilizando el límite de imagen integral

public override void BinarizeBradley(double brightnessDifference, int windowSize)

Parameters

brightnessDifference double

La diferencia de brillo entre el pixel y la media de una ventana s x s de píxelesen torno a este pixel.

windowSize int

El tamaño de la ventana s x s de los píxeles centrados alrededor de este píxel

BinarizeFixed(El byte)

Binalizar sin esfuerzo la imagen utilizando un límite predefinido con estemétodo intuitivo. ideal para los desarrolladores que buscan convertir imágenes en forma binaria,Simplificarlos para procesamiento o análisis adicionales.

public override void BinarizeFixed(byte threshold)

Parameters

threshold byte

Si el valor gris correspondiente de un pixel es mayor que el límite, un valor de255 se asignará a ella, 0 de otra manera.

BinarizeOtsu()

Performan la binarización en la imagen utilizando el límite de Otsu con este método intuitivo.Ideal para los desarrolladores que buscan determinar automáticamente el límite óptimo paraConvertir imágenes en formas binarias, mejorando su claridad y su adecuación para análisis adicionales.

public override void BinarizeOtsu()

Crop(Rectangle)

Crea la imagen sin esfuerzo para centrarse en áreas específicas con este método intuitivo.Perfecto para los desarrolladores que buscan perfeccionar dinámicamente la composición de sus imágenes.

public override void Crop(Rectangle rectangle)

Parameters

rectangle Rectangle

El rectángulo.

Crop(Int, int, int, int)

Cultivar la imagen al ajustar los cambios sin sentido con este método intuitivo.Ideal para los desarrolladores que buscan un control preciso del proceso de cosechapara centrarse en áreas específicas de sus imágenes de Apng.

public override void Crop(int leftShift, int rightShift, int topShift, int bottomShift)

Parameters

leftShift int

El cambio de izquierda.

rightShift int

El cambio correcto.

topShift int

El cambio superior.

bottomShift int

El cambio de fondo.

Dither(DitheringMétodo, int, IColorPalette)

Aplicar fácilmente los efectos de difusión a la imagen actual con este método intuitivo.Ideal para los desarrolladores que buscan agregar textura o reducir la bandera de color en sus imágenes.

public override void Dither(DitheringMethod ditheringMethod, int bitsCount, IColorPalette customPalette)

Parameters

ditheringMethod DitheringMethod

El método de difusión.

bitsCount int

Los últimos bits cuentan para diitar.

customPalette IColorPalette

La paleta personalizada para la difusión.

Filter(Rectangle, FilterOptionsBase)

Aplique sin esfuerzo los filtros al rectángulo especificado de la imagen con estePerfecto para los desarrolladores que buscan mejorar o modificar áreas específicas.

public override void Filter(Rectangle rectangle, FilterOptionsBase options)

Parameters

rectangle Rectangle

El rectángulo.

options FilterOptionsBase

Las opciones.

GetDefaultOptions(Objeto[])

Retirar las opciones predefinidas sin esfuerzo con este método sencillo.Ideal para los desarrolladores que buscan acceso rápido a las configuraciones de imagen de Apng por defecto.

public override ImageOptionsBase GetDefaultOptions(object[] args)

Parameters

args object [][]

Los argumentos.

Returns

ImageOptionsBase

Opciones defectuosas

GetModifyDate(BOOL)

Obtenga rápidamente la fecha y el tiempo en que la imagen de la fuente fue modificada por última vezIdeal para los desarrolladores que necesitan rastrear los cambiosy gestionar los recursos de manera efectiva.

public override DateTime GetModifyDate(bool useDefault)

Parameters

useDefault bool

si se establece a ‘verdad’ utiliza la información de FileInfo como valor predeterminado.

Returns

DateTime

La fecha y hora de la imagen de la fuente fue modificada por última vez.

GetOriginalOptions()

Retrieve opciones basadas en las configuraciones de archivo originales sin esfuerzo con este método intuitivo.Perfecto para los desarrolladores que buscan acceder y utilizar las configuraciones que alinean con las característicasdel archivo original.Esto puede ser útil para mantener la profundidad del bit y otros parámetros de la imagen original sin cambios.Por ejemplo, si cargamos una imagen de PNG en blanco y negro con 1 bito por píxel y luego la guardamos utilizando elAspose.Imaging.DataStreamSupporter.Save(System.String) método, la imagen PNG de salida con 8 bits por pixel se producir.Para evitarlo y ahorrar la imagen PNG con 1 bits por píxel, utilice este método para obtener las opciones de ahorro correspondientes y pasarlaspara el método Aspose.Imaging.Image.Save(System.String,Aspose.Imaging.ImageOptionsBase) como el segundo parámetro.

public override ImageOptionsBase GetOriginalOptions()

Returns

ImageOptionsBase

Las opciones basadas en las configuraciones de archivo original.

GetPagesAsEnumerable()

Obtenga las páginas como numerables.

protected override IEnumerable<image/> GetPagesAsEnumerable()

Returns

IEnumerable &ylt; Image >

Las propias páginas como enumerables.

Grayscale()

Transformar fácilmente la imagen en su representación griega con este método intuitivo.Ideal para los desarrolladores que buscan convertir imágenes de color en gris, simplificando suProcesos de visualización o análisis.

public override void Grayscale()

InsertFrame(Int)

Insertar sin esfuerzo un nuevo marco en su colección de marco en la especificadacon este método intuitivo. ideal para los desarrolladores que buscan control preciso sobreel arreglo de los cuadros en sus animaciones de imágenes multi-frame.Se creará un nuevo marco según el tamaño de la imagen actual.

public ApngFrame InsertFrame(int index)

Parameters

index int

El índice.

Returns

ApngFrame

El nuevo marco APNG creado.

Exceptions

ArgumentOutOfRangeException

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

InsertFrame(Título: RasterImage)

Insertar un nuevo marco en la propia colección de marco en el índice especificado.Los contenidos del nuevo marco se llenarán de la imagen especificada.

public void InsertFrame(int index, RasterImage frameImage)

Parameters

index int

El índice.

frameImage RasterImage

La imagen del marco.

Exceptions

ArgumentOutOfRangeException

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

ArgumentNullException

El frameImage es nulo.

InsertFrame(Int, RasterImage y Uint)

Insertar un nuevo marco en la propia colección de marco en el índice especificado.Los contenidos del nuevo marco se llenarán de la imagen especificada.

public void InsertFrame(int index, RasterImage frameImage, uint frameTime)

Parameters

index int

El índice.

frameImage RasterImage

La imagen del marco.

frameTime uint

Duración del marco, en milisegundos.

Exceptions

ArgumentOutOfRangeException

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

ArgumentNullException

El frameImage es nulo.

PopFrameAt(Int)

Remover y recuperar el marco en el índice especificado de su colección de marcoCon este método intuitivo. perfecto para los desarrolladores que buscan una gestión eficientede los cuadros en sus animaciones.

public ApngFrame PopFrameAt(int index)

Parameters

index int

El índice.

Returns

ApngFrame

El marco APNG eliminado.

Exceptions

ArgumentOutOfRangeException

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

ReleaseManagedResources()

Emite los recursos gestionados. asegúrese de que no se liberan los recursos no gestionados aquí, ya que pueden haber sidoya liberados.

protected override void ReleaseManagedResources()

RemoveAllFrames()

Limpiar su colección de cuadros eliminando todos los cuadros con este método intuitivo.Ideal para los desarrolladores que buscan reinstalar o refrescar sus animaciones.

public void RemoveAllFrames()

Examples

El siguiente ejemplo muestra cómo crear una imagen APNG de otra imagen de una página única de raster.

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)

Remova el marco en el índice especificado de su colección de marco sin sentidoPerfecto para los desarrolladores que buscan una gestión estricta de los cuadrosen sus imágenes multi-frame.El marco que será eliminado será eliminado.

public void RemoveFrameAt(int index)

Parameters

index int

El índice.

Exceptions

ArgumentOutOfRangeException

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

ResetDefaultImage()

Remova una imagen predefinida con este método intuitivo.Ideal para los desarrolladores que buscan reinstalar o limpiar la imagen predeterminada en su animación.Después de esto, la imagen predeterminada es el primer marco en la propia colección de cadros(no se puede eliminar utilizando este método).

public void ResetDefaultImage()

Resize(int, int, resizeType)

Recuperar la imagen sin sentido con este método intuitivo.Perfecto para los desarrolladoresBuscando ajustar dinámicamente las dimensiones de sus imágenes.

public override void Resize(int newWidth, int newHeight, ResizeType resizeType)

Parameters

newWidth int

La nueva amplitud.

newHeight int

La nueva altura.

resizeType ResizeType

El tipo de residuos.

Resize(int, int, ImageResizeSettings)

Recupera la imagen.

public override void Resize(int newWidth, int newHeight, ImageResizeSettings settings)

Parameters

newWidth int

La nueva amplitud.

newHeight int

La nueva altura.

settings ImageResizeSettings

los ajustes de residuos.

ResizeHeightProportionally(Int, ResizeType)

Ajuste sin esfuerzo la altura de su imagen mientras mantiene sus proporcionescon este método intuitivo. perfecto para los desarrolladores que buscan resignar imágenesde forma dinámica, al mismo tiempo que conservan su relación de aspecto.

public override void ResizeHeightProportionally(int newHeight, ResizeType resizeType)

Parameters

newHeight int

La nueva altura.

resizeType ResizeType

Tipo de residuos.

ResizeWidthProportionally(Int, ResizeType)

Recibe proporcionalmente la anchura de la imagen sin esfuerzo con este método intuitivo.Ideal para los desarrolladores que buscan mantener el ratio de aspecto de sus imágenes mientrasajustar sus dimensiones.

public override void ResizeWidthProportionally(int newWidth, ResizeType resizeType)

Parameters

newWidth int

La nueva amplitud.

resizeType ResizeType

Tipo de residuos.

Rotate(float, bool, color)

Rotar la imagen alrededor de su centro sin esfuerzo con este método intuitivo.Perfecto para los desarrolladores que buscan ajustar dinámicamente la orientación de sus imágenes.

public override void Rotate(float angle, bool resizeProportionally, Color backgroundColor)

Parameters

angle float

El ángulo de rotación en grados. valores positivos rotarán de manera horaria.

resizeProportionally bool

si se establece a ‘verdad’ tendrás su tamaño de imagen cambiado de acuerdo con las proyecciones rectangulares rotadas (puntos de corno) en otros casos que dejan las dimensiones no tocadas y sólo los contenidos de la imagen internal son rotados.

backgroundColor Color

El color del fondo.

RotateFlip(RotateFlipType)

Manipular sin esfuerzo el marco activo girando, flipping, o amboscon este método intuitivo. ideal para los desarrolladores que buscan personalizarOrientaciones del marco de imagen.

public override void RotateFlip(RotateFlipType rotateFlipType)

Parameters

rotateFlipType RotateFlipType

El tipo de flip rotado.

SaveData(Stream)

ahorrar los datos.

protected override void SaveData(Stream stream)

Parameters

stream Stream

El flujo para salvar los datos a.

SetDefaultImage(RasterImage)

Configure la imagen de raster especificada como la imagen por defecto para la animación actualsin esfuerzo con este método. Perfecto para los desarrolladores que buscan personalizarde la imagen en sus animaciones.

public void SetDefaultImage(RasterImage image)

Parameters

image RasterImage

La imagen.

Exceptions

ArgumentNullException

La imagen es nula.

UpdateDimensions(El int, int)

Actualizar las dimensiones de la imagen.

protected override void UpdateDimensions(int newWidth, int newHeight)

Parameters

newWidth int

La nueva imagen es amplia.

newHeight int

El nuevo tamaño de la imagen.

UpdateMetadata()

Actualizar los metadatos de la imagen.

protected override void UpdateMetadata()
 Español