在本主题▼

实现动画

RasterPictureBox命名空间提供了一个简单的“PictureBox”窗口。窗体控件,用于显示图像。与RasterImageViewer不同,它不支持滚动或缩放。方法支持动画Leadtools。光栅ImageAnimator类。

使用一个RasterPictureBox对象类似于使用一个RasterImage对象。遵循与下一节中列出的步骤相同的步骤,除了使用RasterPictureBox构造函数而不是使用RasterImage构造函数。

若要加载和播放动画文件(如GIF),可以将帧加载到RasterImage对象,然后在循环中向目标图像播放该列表,该循环显示目标图像中的每个更改。您还可以从头创建一个动画序列,并保存图像以创建一个动画GIF文件。

以下是可能的步骤概要:

  1. 使用加载多帧图像Leadtools.Codecs.RasterCodecs.Load (System.Uri、System.Int32 Leadtools.Codecs.CodecsLoadByteOrder、System.Int32 System.Int32)
  2. 使用Leadtools。光栅Image构造函数以创建与多帧图像中的图像大小相同的目标图像
  3. 使用RasterImageAnimator/>类来创建一个引用多帧图像和目标图像的动画回放
  4. 在处理多帧图像中的每一帧的循环中,执行以下操作:

    1. 使用RasterImageAnimator。过程方法处理当前状态并获取动画的下一个状态
    2. 使用RasterImageAnimator。GetUpdateRectangle方法获取更新矩形(目标图像中已更改的部分)。
    3. 使用RasterImagePainter。油漆方法绘制图像的更改部分。若要只绘制更改的部分,请使用更新矩形作为源剪切矩形。

动画循环可以有许多状态,您应该只在适当的状态下绘制更改(例如,当下一个状态是RasterImageAnimatorState。PostRender.有关可能状态的列表,请参阅RasterImageAnimatorState枚举。

RasterImage。AnimationDisposalMethod目标中的属性RasterImage对象确定在呈现后和在任何等待状态后,当下面的状态为时,图像在回放循环中会发生什么“> RasterImageAnimatorState。PostDispose.选项包括:保持图片原样、恢复背景或恢复上一张图片。(还原背景是动画的常用选项。)

动画循环在帧列表中连续运行。要在列表的末尾停止,当以下状态为时退出循环RasterImageAnimatorState。结束

动画GIF文件

在加载动画GIF文件之前,可以使用RasterCodecs。GetInformation方法获取文件的全局动画信息,该信息将在CodecsImageInfo.Gif财产。你可以在动画回放中使用这些值

当您加载一个动画GIF文件时,使用RasterCodecs。负载,下面的动画字段在每个RasterImage更新文件中的信息:RasterImage。AnimationOffsetRasterImage。AnimationDelayRasterImage。AnimationBackgroundRasterImage。透明的RasterImage。透明的Color而且RasterImage。AnimationDisposalMethod.这些属性对于图像中的每一帧来说都是唯一的。此外,全局动画信息被加载到以下属性中:RasterImage。AnimationGlobalLoopRasterImage。AnimationGlobalSize而且RasterImage。AnimationGlobalBackground.这些属性用于动画回放

方法保存动画GIF文件时RasterCodecs。保存方法,这些都一样RasterImage属性保存在文件中。此外,全局动画信息将从RasterImage自动。属性手动设置全局选项板CodecsGifSaveOptions。SetAnimationPalette方法和CodecsGifSaveOptions。UseAnimationPalette财产。

代码示例

例子的位置 描述
RasterImageAnimator例子 下面的示例演示如何加载动画GIF文件并将其绘制在给定面板控件的表面上。
RasterImage。AnimationGlobalLoop例子 下面的例子展示了如何创建一个动画GIF文件
RasterImage。GetTrueColorValue例子 一个演示如何创建透明GIF文件的例子

另请参阅介绍动画

LEADTOOLS成像、医疗和文档
188金宝搏的网址客服|支持|联系我们|知识产权公告
©1991 - 2021领德科技有限公司版权所有。