我正在尝试使用TImage以Firemonkey HD形式显示动画GIF,但我没有看到任何动画方法。
使用Vcl.Imaging.gifImg不是一个选项,因为类型不同。
有人可以建议一种方法来解决这个问题,或者可能是组件来为Firemonkey下的GIF图像制作动画吗?
我现在找到的唯一方法是:
创建TGIFImage实例并加载GIF图像
循环通过gif.images:
一个。将当前图像保存为流
湾Image1.bitmap.loadFromStream [Image1是FMX:TImage]
有更聪明的解决方案吗?
答案 0 :(得分:4)
您可以将 TBitmapListAnimation 与单个图像一起使用,该图像的每个动画帧都位于长条带内。例如,如果你的动画有4帧并且是32像素×32像素,那么你需要创建一个128像素宽,32像素高的图像,然后并排添加每个帧......
然后在表单中添加 TImage (您不必在其中加载位图)
使用TImage添加 TBitmapListAnimation 作为其父级
双击 AnimationBitmap 并加载动画图像条
下拉 PropertyName 并选择位图
将 AnimationCount 设为4, AnimationRowCount 为此示例
将启用设置为true
TBitmapListAnimation可以很好地控制动画帧速率,反转,循环和插值。我无法找到一种方法来获取.gif在FireMonkey2中制作动画,但如果你有办法将动画.gif转换为'卡通条',那么这是制作动画的好方法。
PS这是Delphi XE3 ......所以不能说这些组件是否存在于以前的版本中。