Class ApngOptions
Namn på plats: Aspose.Imaging.ImageOptions Församling: Aspose.Imaging.dll (25.5.0)
API för animerad PNG (Animated Portable Network Graphics) bildfilformatskapande är ett dynamiskt verktyg för utvecklare som vill generera lockandeanimerade bilder. med anpassningsbara alternativ som ramtid ochantal gånger att löpa, detta API tillåter fin-tuning animerad innehållefter specifika behov. oavsett om du skapar engagerande webgrafik ellerinteraktiva visualer, kan du använda denna API för att integreraAPNG-bilder med exakt kontroll över animationsparametrar.
public class ApngOptions : PngOptions, IDisposable, IHasXmpData, IHasMetadata, ICloneableInheritance
object ← DisposableObject ← ImageOptionsBase ← PngOptions ← ApngOptions
Implements
IDisposable , IHasXmpData , IHasMetadata , ICloneable
Arvsmedlemmar
PngOptions.DefaultCompressionLevel , PngOptions.ColorType , PngOptions.Progressive , PngOptions.FilterType , PngOptions.CompressionLevel , PngOptions.BitDepth , ImageOptionsBase.Clone() , ImageOptionsBase.ReleaseManagedResources() , ImageOptionsBase.KeepMetadata , ImageOptionsBase.XmpData , ImageOptionsBase.Source , ImageOptionsBase.Palette , ImageOptionsBase.ResolutionSettings , ImageOptionsBase.VectorRasterizationOptions , ImageOptionsBase.BufferSizeHint , ImageOptionsBase.MultiPageOptions , ImageOptionsBase.FullFrame , ImageOptionsBase.ProgressEventHandler , DisposableObject.Dispose() , DisposableObject.ReleaseManagedResources() , DisposableObject.ReleaseUnmanagedResources() , DisposableObject.VerifyNotDisposed() , DisposableObject.Disposed , object.GetType() , object.MemberwiseClone() , object.ToString() , object.Equals(object?) , object.Equals(object?, object?) , object.ReferenceEquals(object?, object?) , object.GetHashCode()
Examples
Följande exempel visar hur man exporterar apng APNG-filformat från andra icke-animerade multi-sidorformat.
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
                                                                                                                     }Följande exempel visar hur man exporterar till APNG-filformat.
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
                                                                         }Följande exempel visar hur man skapar APNG-bild från en annan raster ensidig bild.
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()
Initialiserar en ny instans av Aspose.Imaging.ImageOptions.ApngOptions klass.
public ApngOptions()Properties
DefaultFrameTime
Få eller ställa in standardramtiden.
public uint DefaultFrameTime { get; set; }Fastighetsvärde
Examples
Följande exempel visar hur man exporterar apng APNG-filformat från andra icke-animerade multi-sidorformat.
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
                                                                                                                     }Följande exempel visar hur man skapar APNG-bild från en annan raster ensidig bild.
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
Få eller ställa in antalet gånger för att loop animation.0 indikerar oändlig loopning.
public int NumPlays { get; set; }Fastighetsvärde
Examples
Följande exempel visar hur man exporterar till APNG-filformat.
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
                                                                         }