AddFrame
内容
[
隐藏
]AddFrame()
将新帧添加到自己的帧集合的末尾。 将根据当前图像的大小创建一个新帧。
public ApngFrame AddFrame()
返回值
新创建的 APNG 帧。
也可以看看
- class ApngFrame
- class ApngImage
- 命名空间 Aspose.Imaging.FileFormats.Apng
- 部件 Aspose.Imaging
AddFrame(RasterImage)
将新帧添加到自己的帧集合的末尾。 新帧的内容将从指定的图像填充。
public void AddFrame(RasterImage frameImage)
范围 | 类型 | 描述 |
---|---|---|
frameImage | RasterImage | 帧图像。 |
例外
例外 | (健康)状况 |
---|---|
ArgumentNullException | 帧图像为空。 |
例子
以下示例显示如何从另一个光栅单页图像创建 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 RasterImage
- class ApngImage
- 命名空间 Aspose.Imaging.FileFormats.Apng
- 部件 Aspose.Imaging
AddFrame(RasterImage, uint)
将新帧添加到自己的帧集合的末尾。 新帧的内容将从指定的图像填充。
public void AddFrame(RasterImage frameImage, uint frameTime)
范围 | 类型 | 描述 |
---|---|---|
frameImage | RasterImage | 帧图像。 |
frameTime | UInt32 | 帧持续时间,以毫秒为单位。 |
例外
例外 | (健康)状况 |
---|---|
ArgumentNullException | 帧图像为空。 |
也可以看看
- class RasterImage
- class ApngImage
- 命名空间 Aspose.Imaging.FileFormats.Apng
- 部件 Aspose.Imaging