Class ApngImage

Class ApngImage

名称: Aspose.Imaging.FileFormats.Apng 收藏: Aspose.Imaging.dll (25.4.0)

动画PNG(动画移动网络图形)图像文件的API格式是一个多元化的解决方案,开发人员想要集成动画内容进入他们的应用程序. 此 API 提供广泛的控制框架设置,允许用户定义框架特性参数,包括旋转时间和 PNG 文件设置。功能丰富的工具,您可以轻松地管理和优化显示器APNG图像,进口和出口图像,提高动态和您的应用程序的互动方面。

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

继承人

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

ApngImage(ApngOptions, int, int)

开始使用 Aspose.Imaging.FileFormats.Apng.ApngImage 类,以启动一个新的例子毫无努力. 适合开发者寻求开始在项目中快速有效地使用 ApngImage 对象。

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

Parameters

options ApngOptions

选项的。

width int

宽度。

height int

身高。

Properties

DefaultFrameTime

轻松调整默认框长度,以创建新框这个灵活的属性. 适合开发人员寻求自定义框架时间在他们的动画中有效。

public uint DefaultFrameTime { get; set; }

财产价值

uint

Examples

下面的示例显示如何从另一个单页图像中创建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();
                                                                                                          }
                                                                                                      }

FileFormat

快速获取有关此方便的属性文件格式的信息。理想的开发人员需要获取有关格式的详细信息您可以轻松地使用 Apng 文件。

public override FileFormat FileFormat { get; }

财产价值

FileFormat

Interlaced

快速确定这个 Aspose.Imaging.FileFormats.Png.PngImage 对象是否相互关联以此方便的属性. 理想的开发人员需要检查连接 PNG 图像的状态很容易。

public bool Interlaced { get; }

财产价值

bool

NumPlays

无力控制你的动画跳过的次数多元性属性. 适合寻求准确控制的开发人员动画行为,支持无限旋转的情况下值相当于0。

public int NumPlays { get; set; }

财产价值

int

PageCount

用此属性轻松地恢复图像文件中的页面总数。理想的开发人员需要快速访问页面计算信息。

public override int PageCount { get; }

财产价值

int

Pages

轻松地使用此方便的属性访问您的图像的页面。理想的开发人员寻求快速和轻松的访问单个页面操纵。

public override Image[] Pages { get; }

财产价值

Image ( )

XmpData

轻松管理与您的文件相关的 XMP 数据,使用此多元化属性. 适合寻求访问或更新的开发人员以便轻松地获取信息。

public override XmpPacketWrapper XmpData { get; set; }

财产价值

XmpPacketWrapper

Methods

AddFrame()

轻松地将一个新的框架添加到您的框架收藏的结尾。簡單的方法. 理想的開發人員想要擴大他們的框集动动态动画与多框图像。根据当前图像的尺寸,将创建一个新的框架。

public ApngFrame AddFrame()

Returns

ApngFrame

新的APNG框架。

AddFrame(RasterImage)

无力扩展您的框架收藏,通过添加一个新的框架到结尾用这种直观的方法. 适合开发人员寻求提高他们的动画多框图像动态。新框的内容将从所指定的图像中填写。

public void AddFrame(RasterImage frameImage)

Parameters

frameImage RasterImage

图像框架。

Examples

下面的示例显示如何从另一个单页图像中创建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();
                                                                                                          }
                                                                                                      }

Exceptions

ArgumentNullException

frameImage 是零。

AddFrame(拉斯特图像,Uint)

无缝扩展您的框架收藏,通过添加一个新的框架到用这种直观的方法. 理想的开发者想要丰富他们的多框图像的动画。新框的内容将从所指定的图像中填写。

public void AddFrame(RasterImage frameImage, uint frameTime)

Parameters

frameImage RasterImage

图像框架。

frameTime uint

框架的长度,在千秒。

Exceptions

ArgumentNullException

frameImage 是零。

AddPage(RasterImage)

用这种直观的方法轻松地将新页面添加到图像中。适合开发人员寻求动态扩展图像文件的内容。

public void AddPage(RasterImage page)

Parameters

page RasterImage

添加的页面。

Exceptions

ArgumentNullException

page’ is null.

AdjustBrightness(因特)

使用此直观方法轻松调整图像的 亮度,使用指定的亮度参数,理想的开发人员寻求以动态提高或降低图像的整体亮度。

public override void AdjustBrightness(int brightness)

Parameters

brightness int

光的价值。

AdjustContrast(航海)

增强 Aspose.Imaging.Image 的对比用这种直观的方法,让细节突出,理想的开发者努力提高他们的图像的视觉清晰度和影响的动态。

public override void AdjustContrast(float contrast)

Parameters

contrast float

对比值(在范围内(100;100)

AdjustGamma(航海)

在图像上应用Gamma纠正,使用浮点比例理想的开发人员寻求准确的颜色控制在他们的图像中。

public override void AdjustGamma(float gamma)

Parameters

gamma float

红色、绿色和蓝色频道的Gamma

AdjustGamma(航海、航海、航海)

在图像上单独进行红色、绿色和蓝色频道的伽马纠正使用这个直观方法的个别比例,理想的开发人员寻求保持色彩平衡,提高图像的视觉质量。

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

Parameters

gammaRed float

红频率的Gamma

gammaGreen float

绿色频道的Gamma

gammaBlue float

蓝色频道的Gamma

BinarizeBradley(双重, int)

使用布拉德利的适应边界算法进行图像二元化,使用整体图像边界

public override void BinarizeBradley(double brightnessDifference, int windowSize)

Parameters

brightnessDifference double

像素之间的亮度差异和像素的平均窗口 s x s 的差异聚集在这个像素周围。

windowSize int

这个像素周围集中的像素的 x s 窗口的尺寸

BinarizeFixed(比特)

无力地使用预定义的边界来双重化图像直观方法 理想的开发人员寻求将图像转换为二进制形式,将其简化为进一步的处理或分析。

public override void BinarizeFixed(byte threshold)

Parameters

threshold byte

如果一个像素的相应灰色值超过边界值,则255 将被分配给它, 0 否则。

BinarizeOtsu()

在图像上进行二进制,使用这种直观的方法使用Otsu边界。理想的开发人员寻求自动确定最佳限度将图像转换为二进制形式,提高其清晰度和适用于进一步分析。

public override void BinarizeOtsu()

Crop(Rectangle)

无力地种植图像,用这种直观的方法专注于特定的领域。理想的开发人员试图以动态的方式改进他们的图像的组成。

public override void Crop(Rectangle rectangle)

Parameters

rectangle Rectangle

直角。

Crop(int , int , int , int , int)

用这种直观的方法,在调整转变时,将图像种植起来。理想的开发人员寻求精确控制收获过程专注于其 Apng 图像的特定区域。

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

Parameters

leftShift int

左转。

rightShift int

正确的转换。

topShift int

顶级转换。

bottomShift int

底部交换。

Dither(DitheringMethod, int,IColorPalette)

使用这种直观的方法,轻松地将直观效果应用到当前图像中。理想的开发人员想要添加结构或减少颜色带在他们的图像。

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

Parameters

ditheringMethod DitheringMethod

定位方法。

bitsCount int

最后的比特数为Ditering。

customPalette IColorPalette

可用于Ditering的配件。

Filter(Rectangle, FilterOptions 基于)

轻松地将过滤器应用到图像的指定的直角。直观方法 适合开发人员寻求改进或改进特定的领域。

public override void Filter(Rectangle rectangle, FilterOptionsBase options)

Parameters

rectangle Rectangle

直角。

options FilterOptionsBase

选项的。

GetDefaultOptions(对象[])

用这个简单的方法轻松修复默认选项。理想的开发人员寻求快速访问默认的 Apng 图像设置。

public override ImageOptionsBase GetDefaultOptions(object[] args)

Parameters

args object ( )

这些论点。

Returns

ImageOptionsBase

默认选项

GetModifyDate(博尔)

快速获取资源图像最后修改的日期和时间使用这个用户友好的方法 理想的开发人员需要跟踪变更有效管理资源。

public override DateTime GetModifyDate(bool useDefault)

Parameters

useDefault bool

如果设置为“真实”,则使用 FileInfo 的信息作为默认值。

Returns

DateTime

资源图像的日期和时间最后修改。

GetOriginalOptions()

根据原始文件设置,使用这种直观的方法轻松恢复选项。理想的开发人员寻求访问和使用与特性相匹配的设置原始文件。这可能有助于保持原始图像的细节深度和其他参数不变。例如,如果我们加载一张黑白的PNG图像,每像素1比特,然后使用Aspose.Imaging.DataStreamSupporter.Save(System.String)方法,输出PNG图像,每像素将产生8位。要避免它,并以每像素1比特保存PNG图像,使用此方法获得相应的储蓄选项并通过它们。在 Aspose.Imaging.Image.Save(System.String,Aspose.Imaging.ImageOptionsBase)方法作为第二个参数。

public override ImageOptionsBase GetOriginalOptions()

Returns

ImageOptionsBase

基于原始文件设置的选项。

GetPagesAsEnumerable()

将页面列为可列。

protected override IEnumerable<image/> GetPagesAsEnumerable()

Returns

IEnumerable < Image >

自己的页面如可列数。

Grayscale()

用这种直观的方法轻松地将图像转化为灰色图像。理想的开发人员寻求将颜色图像转换为灰色,简化其视觉化或分析过程。

public override void Grayscale()

InsertFrame(因特)

轻松地将一个新的框架插入到您的框架收藏中,在指定的框架中以这种直观的方法,理想的开发人员寻求准确的控制在他们的动画中安排框架的多框图像。根据当前图像的尺寸,将创建一个新的框架。

public ApngFrame InsertFrame(int index)

Parameters

index int

这个指数。

Returns

ApngFrame

新的APNG框架。

Exceptions

ArgumentOutOfRangeException

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

InsertFrame(此分類上一篇: RasterImage)

在指定的指数中将新框插入自己的框架集合中。新框的内容将从所指定的图像中填写。

public void InsertFrame(int index, RasterImage frameImage)

Parameters

index int

这个指数。

frameImage RasterImage

图像框架。

Exceptions

ArgumentOutOfRangeException

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

ArgumentNullException

frameImage 是零。

InsertFrame(饰 饰 饰 饰 饰 饰 饰 饰 饰)

在指定的指数中将新框插入自己的框架集合中。新框的内容将从所指定的图像中填写。

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

Parameters

index int

这个指数。

frameImage RasterImage

图像框架。

frameTime uint

框架的长度,在千秒。

Exceptions

ArgumentOutOfRangeException

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

ArgumentNullException

frameImage 是零。

PopFrameAt(因特)

从您的框架收藏中删除并获取指定的指数框架用这种直观的方法. 适合寻求有效管理的开发人员在他们的动画中的框架。

public ApngFrame PopFrameAt(int index)

Parameters

index int

这个指数。

Returns

ApngFrame

移除APNG框架。

Exceptions

ArgumentOutOfRangeException

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

ReleaseManagedResources()

释放管理的资源. 确保没有未管理的资源在这里释放,因为它们可能已经已经释放了

protected override void ReleaseManagedResources()

RemoveAllFrames()

清除您的框架收藏,通过使用这种直观的方法删除所有框架。理想的开发人员寻求重新设置或更新他们的动画。

public void RemoveAllFrames()

Examples

下面的示例显示如何从另一个单页图像中创建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 &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(因特)

从您的框架收藏中无缝删除指定的指数框架完美的开发人员寻求精致的框架管理在他们的多框图像中。要删除的框架将被删除。

public void RemoveFrameAt(int index)

Parameters

index int

这个指数。

Exceptions

ArgumentOutOfRangeException

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

ResetDefaultImage()

使用此直观方法删除预设的默认图像。理想的开发人员寻求重新设置或清除他们的动画中的默认图像。此后,默认图像是框架收藏中的第一个框架。(使用此方法无法删除)。

public void ResetDefaultImage()

Resize(int , int , resizeType)

用这种直观的方法无缝地恢复图像,适合开发人员试图动态调整图像的尺寸。

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

Parameters

newWidth int

新的宽度。

newHeight int

新高度。

resizeType ResizeType

回归类型。

Resize(int , int , ImageResizeSettings)

恢复图像。

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

Parameters

newWidth int

新的宽度。

newHeight int

新高度。

settings ImageResizeSettings

重新设置。

ResizeHeightProportionally(重定向,重定向)

轻松调整图像的高度,同时保持其比例用这种直观的方法. 完美的开发人员寻求重新绘制图像动态,同时保持其方面比例。

public override void ResizeHeightProportionally(int newHeight, ResizeType resizeType)

Parameters

newHeight int

新高度。

resizeType ResizeType

回归的类型。

ResizeWidthProportionally(重定向,重定向)

通过这种直观的方法,将图像的宽度相对重复。理想的开发人员寻求保持其图像的视角比例,同时调整其尺寸。

public override void ResizeWidthProportionally(int newWidth, ResizeType resizeType)

Parameters

newWidth int

新的宽度。

resizeType ResizeType

回归的类型。

Rotate(彩色 , 彩色 , 彩色)

用这种直观的方法无力地旋转图像。理想的开发人员寻求动态调整他们的图像的方向。

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

Parameters

angle float

旋转的角度在度,积极的值会旋转时钟。

resizeProportionally bool

如果设置为“真实”,您的图像大小将根据旋转直角(角点)的图像在其他情况下,留下尺寸无触摸,只有内部图像内容被旋转。

backgroundColor Color

背景的颜色。

RotateFlip(RotateFlipType)

无力操作活跃的框架,旋转,滑动,或两者用这种直观的方法. 理想的开发人员寻求定制图像框指向。

public override void RotateFlip(RotateFlipType rotateFlipType)

Parameters

rotateFlipType RotateFlipType

旋转的Flip类型。

SaveData(Stream)

保存数据。

protected override void SaveData(Stream stream)

Parameters

stream Stream

流来保存数据。

SetDefaultImage(RasterImage)

设置指定的拉斯特图像为当前动画的默认图像用这种方法无力,适合开发者寻求自定义他们的动画中的默认图像。

public void SetDefaultImage(RasterImage image)

Parameters

image RasterImage

图像。

Exceptions

ArgumentNullException

图像是零。

UpdateDimensions(int , int , int)

更新图像尺寸。

protected override void UpdateDimensions(int newWidth, int newHeight)

Parameters

newWidth int

新图像宽度。

newHeight int

新图像高度。

UpdateMetadata()

更新图像数据。

protected override void UpdateMetadata()
 中文