Class ApngOptions

Class ApngOptions

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

El formato de archivo de imagen de PNG (Animated Portable Network Graphics)Creación es una herramienta dinámica para los desarrolladores que buscan generar captivandoimágenes animadas. con opciones personalizables como la duración del marco y elNúmero de veces para girar, esta API permite el contenido animado fin-tuningde acuerdo con las necesidades específicas. ya sea crear gráficos web involucrados oVisualizaciones interactivas, puede aprovechar esta API para incorporarImágenes APNG con control preciso sobre los parámetros de animación.

public class ApngOptions : PngOptions, IDisposable, IHasXmpData, IHasMetadata, ICloneable

Inheritance

object DisposableObject ImageOptionsBase PngOptions ApngOptions

Implements

IDisposable ,y, IHasXmpData ,y, IHasMetadata ,y, ICloneable

Miembros heredados

PngOptions.DefaultCompressionLevel ,y, PngOptions.ColorType ,y, PngOptions.Progressive ,y, PngOptions.FilterType ,y, PngOptions.CompressionLevel ,y, PngOptions.BitDepth ,y, ImageOptionsBase.Clone() ,y, ImageOptionsBase.ReleaseManagedResources() ,y, ImageOptionsBase.KeepMetadata ,y, ImageOptionsBase.XmpData ,y, ImageOptionsBase.Source ,y, ImageOptionsBase.Palette ,y, ImageOptionsBase.ResolutionSettings ,y, ImageOptionsBase.VectorRasterizationOptions ,y, ImageOptionsBase.BufferSizeHint ,y, ImageOptionsBase.MultiPageOptions ,y, ImageOptionsBase.FullFrame ,y, ImageOptionsBase.ProgressEventHandler ,y, DisposableObject.Dispose() ,y, DisposableObject.ReleaseManagedResources() ,y, DisposableObject.ReleaseUnmanagedResources() ,y, DisposableObject.VerifyNotDisposed() ,y, DisposableObject.Disposed ,y, object.GetType() ,y, object.MemberwiseClone() ,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

ApngOptions()

Inicia una nueva instancia de la clase Aspose.Imaging.ImageOptions.ApngOptions.

public ApngOptions()

Properties

DefaultFrameTime

Obtenga o establece la duración del marco predeterminado.

public uint DefaultFrameTime { get; set; }

Valor de la propiedad

uint

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

NumPlays

Obtenga o establece el número de veces para girar la animación.0 indica la inclinación infinita.

public int NumPlays { get; set; }

Valor de la propiedad

int

Examples

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
                                                                         }
 Español