ApngFrame
内容
[
隐藏
]ApngFrame class
动画PNG图像帧
public class ApngFrame : RasterCachedImage, IAnimationFrame
特性
姓名 | 描述 |
---|---|
AutoAdjustPalette { get; set; } | 获取或设置是否自动调整调色板的值。 |
override BackgroundColor { get; set; } | 获取背景颜色。 |
override BitsPerPixel { get; } | 获取每像素计数的图像位数。 |
Bounds { get; } | 获取图像边界。 |
BufferSizeHint { get; set; } | 获取或设置缓冲区大小提示,该提示定义了所有内部缓冲区的最大允许大小。 |
Container { get; } | 获取Image 容器. |
DataStreamContainer { get; } | 获取对象的数据流。 |
DisposalMethod { get; } | 获取处置方法。 |
Disposed { get; } | 获取一个值,该值指示此实例是否被释放。 |
virtual FileFormat { get; } | 获取文件格式的值 |
FrameLeft { get; } | 获取帧左偏移量。 |
FrameTime { get; set; } | 获取或设置帧持续时间。 |
FrameTop { get; } | 获取框架顶部偏移量。 |
override HasAlpha { get; } | 获取一个值,表示这个实例是否有alpha。 |
override HasBackgroundColor { get; set; } | 获取一个值,表示是否有背景色。 |
override HasTransparentColor { get; set; } | 获取一个表示图像是否具有透明色的值。 |
override Height { get; } | 获取图像高度。 |
virtual HorizontalResolution { get; set; } | 获取或设置此图像的水平分辨率,以每英寸像素为单位RasterImage . |
virtual ImageOpacity { get; } | 获取此图像的不透明度。 |
InterruptMonitor { get; set; } | 获取或设置中断监视器。 |
override IsCached { get; } | 获取当前是否缓存图像数据的值。 |
IsRawDataAvailable { get; } | 获取一个值,指示是否可以加载原始数据。 |
Palette { get; set; } | 获取或设置调色板。直接表示像素时不使用调色板。 |
virtual PremultiplyComponents { get; set; } | 获取或设置一个值,该值指示是否必须对图像分量进行预乘。 |
RawCustomColorConverter { get; set; } | 获取或设置自定义颜色转换器 |
virtual RawDataFormat { get; } | 获取原始数据格式。 |
RawDataSettings { get; } | 获取当前的原始数据设置。请注意,使用这些设置时,数据加载时无需转换。 |
RawFallbackIndex { get; set; } | 获取或设置调色板索引超出范围时使用的回退索引 |
RawIndexedColorConverter { get; set; } | 获取或设置索引颜色转换器 |
virtual RawLineSize { get; } | 以字节为单位获取原始行大小。 |
Size { get; } | 获取图像大小。 |
override TransparentColor { get; set; } | 获取透明色。 |
virtual UpdateXmpData { get; set; } | 获取或设置是否更新 XMP 元数据的值。 |
override UsePalette { get; } | 获取指示是否使用图像调色板的值。 |
virtual UseRawData { get; set; } | 获取或设置一个值,指示当原始数据加载可用时是否使用原始数据加载。 |
virtual VerticalResolution { get; set; } | 获取或设置此对象的垂直分辨率,以每英寸像素为单位RasterImage . |
override Width { get; } | 获取图像宽度。 |
virtual XmpData { get; set; } | 获取或设置 XMP 元数据。 |
方法
姓名 | 描述 |
---|---|
override AdjustBrightness(int) | 调整图像的亮度。 |
override AdjustContrast(float) | 图像对比 |
override AdjustGamma(float) | 图像的 Gamma 校正。 |
override AdjustGamma(float, float, float) | 图像的 Gamma 校正。 |
override BinarizeBradley(double) | 使用 Bradley 自适应阈值算法对图像进行二值化,使用积分图像阈值 |
override BinarizeBradley(double, int) | 使用 Bradley 自适应阈值算法对图像进行二值化,使用积分图像阈值 |
override BinarizeFixed(byte) | 具有预定义阈值的图像二值化 |
override BinarizeOtsu() | 使用 Otsu 阈值对图像进行二值化 |
override CacheData() | 缓存数据并确保不会从底层执行额外的数据加载DataStreamContainer . |
CanSave(ImageOptionsBase) | 判断图像是否可以保存为传递的保存选项所代表的指定文件格式。 |
override Crop(Rectangle) | 裁剪图像。 |
virtual Crop(int, int, int, int) | 使用班次裁剪图像。 |
Dispose() | 处理当前实例。 |
Dither(DitheringMethod, int) | 对当前图像执行抖动。 |
override Dither(DitheringMethod, int, IColorPalette) | 对当前图像执行抖动。 |
virtual Filter(Rectangle, FilterOptionsBase) | 过滤指定的矩形。 |
GetArgb32Pixel(int, int) | 获取图像 32 位 ARGB 像素。 |
GetDefaultArgb32Pixels(Rectangle) | 获取默认的 32 位 ARGB 像素数组。 |
virtual GetDefaultOptions(object[]) | 获取默认选项。 |
GetDefaultPixels(Rectangle, IPartialArgb32PixelLoader) | 使用部分像素加载器获取默认像素数组。 |
GetDefaultRawData(Rectangle, RawDataSettings) | 获取默认的原始数据数组。 |
GetDefaultRawData(Rectangle, IPartialRawDataLoader, RawDataSettings) | 使用部分像素加载器获取默认原始数据数组。 |
GetFullFrame() | 获取全帧。 |
virtual GetModifyDate(bool) | 获取上次修改资源图像的日期和时间。 |
virtual GetOriginalOptions() | 获取基于原始文件设置的选项。 这有助于保持原始图像的位深度和其他参数不变。 例如,如果我们加载一个每像素 1 位的黑白 PNG 图像,然后使用 the 保存它Save 方法,将产生每像素8位的输出PNG图像。 为了避免它并以每像素1位保存PNG图像,使用此方法获取相应的保存选项并将它们 传递给Save 方法作为第二个参数。 |
GetPixel(int, int) | 获取图像像素。 |
GetSkewAngle() | 获取倾斜角度。 该方法适用于扫描的文本文档,确定扫描时的倾斜角度。 |
override Grayscale() | 将图像转换为其灰度表示 |
LoadArgb32Pixels(Rectangle) | 加载 32 位 ARGB 像素。 |
LoadArgb64Pixels(Rectangle) | 加载 64 位 ARGB 像素。 |
LoadCmyk32Pixels(Rectangle) | 以 CMYK 格式加载像素。 |
LoadPartialArgb32Pixels(Rectangle, IPartialArgb32PixelLoader) | 部分按包加载 32 位 ARGB 像素。 |
LoadPartialPixels(Rectangle, IPartialPixelLoader) | 部分按包加载像素。 |
LoadPixels(Rectangle) | 加载像素。 |
LoadRawData(Rectangle, RawDataSettings, IPartialRawDataLoader) | 加载原始数据。 |
LoadRawData(Rectangle, Rectangle, RawDataSettings, IPartialRawDataLoader) | 加载原始数据。 |
NormalizeAngle() | 角度归一化。 此方法适用于扫描的文本文档,以消除倾斜扫描。 此方法使用GetSkewAngle 和Rotate 方法. |
virtual NormalizeAngle(bool, Color) | 角度归一化。 此方法适用于扫描的文本文档,以消除倾斜扫描。 此方法使用GetSkewAngle 和Rotate 方法. |
ReadArgb32ScanLine(int) | 按指定的扫描线索引读取整个扫描线。 |
ReadScanLine(int) | 按指定的扫描线索引读取整个扫描线。 |
ReplaceColor(Color, byte, Color) | 用允许的差异将一种颜色替换为另一种颜色,并保留原始 alpha 值以保存平滑边缘。 |
virtual ReplaceColor(int, byte, int) | 用允许的差异将一种颜色替换为另一种颜色,并保留原始 alpha 值以保存平滑边缘。 |
ReplaceNonTransparentColors(Color) | 将所有不透明的颜色替换为新颜色并保留原始 alpha 值以保存平滑的边缘。 注意:如果在不透明的图像上使用它,所有颜色都将替换为一个颜色。 |
virtual ReplaceNonTransparentColors(int) | 将所有不透明的颜色替换为新颜色并保留原始 alpha 值以保存平滑的边缘。 注意:如果在不透明的图像上使用它,所有颜色都将替换为一个颜色。 |
Resize(int, int) | 调整图像大小。默认NearestNeighbourResample已使用。 |
override Resize(int, int, ImageResizeSettings) | 调整图像大小。 |
override Resize(int, int, ResizeType) | 调整图像大小。 |
ResizeHeightProportionally(int) | 按比例调整高度。默认NearestNeighbourResample已使用。 |
virtual ResizeHeightProportionally(int, ImageResizeSettings) | 按比例调整高度。 |
virtual ResizeHeightProportionally(int, ResizeType) | 按比例调整高度。 |
ResizeWidthProportionally(int) | 按比例调整宽度。默认NearestNeighbourResample已使用。 |
virtual ResizeWidthProportionally(int, ImageResizeSettings) | 按比例调整宽度。 |
virtual ResizeWidthProportionally(int, ResizeType) | 按比例调整宽度。 |
virtual Rotate(float) | 围绕中心旋转图像。 |
override Rotate(float, bool, Color) | 围绕中心旋转图像。 |
override RotateFlip(RotateFlipType) | 旋转、翻转或旋转和翻转图像。 |
Save() | 将图像数据保存到底层流。 |
Save(Stream) | 将对象的数据保存到指定的流中。 |
override Save(string) | 将图像保存到指定的文件位置。 |
Save(Stream, ImageOptionsBase) | 根据保存选项将图像的数据以指定的文件格式保存到指定的流中。 |
virtual Save(string, bool) | 将对象的数据保存到指定的文件位置。 |
virtual Save(string, ImageOptionsBase) | 根据保存选项将对象的数据以指定的文件格式保存到指定的文件位置。 |
override Save(Stream, ImageOptionsBase, Rectangle) | 根据保存选项将图像的数据以指定的文件格式保存到指定的流中。 |
virtual Save(string, ImageOptionsBase, Rectangle) | 根据保存选项将对象的数据以指定的文件格式保存到指定的文件位置。 |
SaveArgb32Pixels(Rectangle, int[]) | 保存 32 位 ARGB 像素。 |
SaveCmyk32Pixels(Rectangle, int[]) | 保存像素。 |
SavePixels(Rectangle, Color[]) | 保存像素。 |
SaveRawData(byte[], int, Rectangle, RawDataSettings) | 保存原始数据。 |
SetArgb32Pixel(int, int, int) | 为指定位置设置图像 32 位 ARGB 像素。 |
override SetPalette(IColorPalette, bool) | 设置图像调色板。 |
SetPixel(int, int, Color) | 为指定位置设置图像像素。 |
virtual SetResolution(double, double) | 为此设置分辨率RasterImage . |
virtual ToBitmap() | 将光栅图像转换为位图。 |
WriteArgb32ScanLine(int, int[]) | 将整个扫描线写入指定的扫描线索引。 |
WriteScanLine(int, Color[]) | 将整个扫描线写入指定的扫描线索引。 |
例子
以下示例显示如何从另一个光栅单页图像创建 APNG 图像。
[C#]
using Aspose.Imaging;
using Aspose.Imaging.ImageOptions;
using Aspose.Imaging.FileFormats.Apng;
const int AnimationDuration = 1000; // 1 秒
const int FrameDuration = 70; // 70 毫秒
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))
{
// 可以在那里设置图像默认帧时间:apngImage.DefaultFrameTime = (uint)FrameDuration;
int numOfFrames = AnimationDuration / FrameDuration;
int numOfFrames2 = numOfFrames / 2;
// 清理因为图片默认包含一帧
apngImage.RemoveAllFrames();
// 添加第一帧
apngImage.AddFrame(sourceImage);
// 添加中间帧
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);
}
// 添加最后一帧
apngImage.AddFrame(sourceImage);
apngImage.Save();
}
}
也可以看看
- class RasterCachedImage
- interface IAnimationFrame
- 命名空间 Aspose.Imaging.FileFormats.Apng
- 部件 Aspose.Imaging