Class ApngOptions
Tên không gian: Aspose.Imaging.ImageOptions Tổng hợp: Aspose.Imaging.dll (25.4.0)
API cho PNG (Animated Portable Network Graphics) định dạng tệp hình ảnhtạo là một công cụ năng động cho các nhà phát triển tìm cách tạo ra hấp dẫnhình ảnh hoạt hình. với các tùy chọn tùy chỉnh như thời gian khung vàsố lần để xoay, API này cho phép nội dung hoạt hình tinh khiếttheo nhu cầu cụ thể. cho dù tạo đồ họa web tham gia hoặchình ảnh tương tác, bạn có thể sử dụng API này để tích hợpAPNG hình ảnh với kiểm soát chính xác của các thông số hoạt hình.
public class ApngOptions : PngOptions, IDisposable, IHasXmpData, IHasMetadata, ICloneable
Inheritance
object ← DisposableObject ← ImageOptionsBase ← PngOptions ← ApngOptions
Implements
IDisposable , IHasXmpData , IHasMetadata , ICloneable
Thành viên thừa kế
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
Ví dụ sau đây cho thấy làm thế nào để xuất định dạng tệp APNG apng từ các định hình đa trang khác không được hoạt hình.
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
}
Ví dụ sau đây cho thấy cách xuất vào định dạng tệp 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
}
Ví dụ sau đây cho thấy làm thế nào để tạo ảnh APNG từ hình ảnh một trang raster khác.
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()
Bắt đầu một trường hợp mới của lớp Aspose.Imaging.ImageOptions.ApngOption.
public ApngOptions()
Properties
DefaultFrameTime
Nhận hoặc đặt thời gian khung mặc định.
public uint DefaultFrameTime { get; set; }
Giá trị bất động sản
Examples
Ví dụ sau đây cho thấy làm thế nào để xuất định dạng tệp APNG apng từ các định hình đa trang khác không được hoạt hình.
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
}
Ví dụ sau đây cho thấy làm thế nào để tạo ảnh APNG từ hình ảnh một trang raster khác.
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
Nhận hoặc đặt số lần để xoay hoạt hình.0 chỉ ra vòng tròn vô hạn.
public int NumPlays { get; set; }
Giá trị bất động sản
Examples
Ví dụ sau đây cho thấy cách xuất vào định dạng tệp 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
}