Class ApngOptions
نام ها : Aspose.Imaging.ImageOptions جمع آوری: Aspose.Imaging.dll (25.5.0)
API برای فرمت فایل تصویر PNG (Animated Portable Network Graphics)ایجاد یک ابزار پویا برای توسعه دهندگان است که به دنبال ایجاد جذبتصاویر متحرک با گزینه های سفارشی مانند مدت زمان چارچوب وتعداد زمان برای چرخش، این API اجازه می دهد تا محتوای انیمیشن نازکبا توجه به نیازهای خاص، ایجاد گرافیک وب یابصری های تعاملی، شما می توانید این API را به طور ناگهانی ادغام کنیدتصاویر APNG با کنترل دقیق پارامترهای انیمیشن
public class ApngOptions : PngOptions, IDisposable, IHasXmpData, IHasMetadata, ICloneableInheritance
object ← DisposableObject ← ImageOptionsBase ← PngOptions ← ApngOptions
Implements
IDisposable , IHasXmpData , IHasMetadata , ICloneable
اعضای ارثی
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
مثال زیر نشان می دهد که چگونه برای صادرات فرمت فایل APNG از دیگر فرمت چند صفحه غیر انیمیشن.
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
                                                                                                                     }مثال زیر نشان می دهد که چگونه برای صادرات به فرمت فایل 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
                                                                         }مثال زیر نشان می دهد که چگونه برای ایجاد یک تصویر APNG از یک تصویر یک صفحه راستر دیگر.
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()
شروع یک مثال جدید از کلاس Aspose.Imaging.ImageOptions.ApngOptions.
public ApngOptions()Properties
DefaultFrameTime
دریافت یا تنظیم مدت زمان چارچوب پیش فرض.
public uint DefaultFrameTime { get; set; }ارزش املاک
Examples
مثال زیر نشان می دهد که چگونه برای صادرات فرمت فایل APNG از دیگر فرمت چند صفحه غیر انیمیشن.
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
                                                                                                                     }مثال زیر نشان می دهد که چگونه برای ایجاد یک تصویر APNG از یک تصویر یک صفحه راستر دیگر.
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
دریافت یا تنظیم تعداد زمان برای چرخش انیمیشن.0 نشان دهنده چرخش بی نهایت است.
public int NumPlays { get; set; }ارزش املاک
Examples
مثال زیر نشان می دهد که چگونه برای صادرات به فرمت فایل 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
                                                                         }