我正在尝试在Firemonkey HD表单中使用TImage显示动画GIF,但我没有看到任何用于动画的方法。由于类型不同,使用Vcl.Imaging.gifImg不是一个选项。有人能建议一种解决这个问题的方法或者组件来在Firemonkey下播放GIF图像吗?目前我找到的唯一方法是:
1.创建TGIFImage实例并加载GIF图像 2.循环遍历gif.images: a.将当前图像保存到流中 b. Image1.bitmap.loadFromStream [Image1是FMX:TImage]
是否有更智能的解决方案?
1.创建TGIFImage实例并加载GIF图像 2.循环遍历gif.images: a.将当前图像保存到流中 b. Image1.bitmap.loadFromStream [Image1是FMX:TImage]
是否有更智能的解决方案?
TBitmap
或TCanvas
等类不兼容。这就是使用流的原因;否则,您将能够直接使用TGIFImage
或TGIFRenderer
等类。而且,TTimer
对于动画来说已经足够了。如果您使用工作线程,则必须将UI与每个帧渲染同步,正如iPath所说,这会将消息排队到UI主线程的消息队列中。即使TGIFRenderer
本身也使用计时器而不是线程进行渲染循环;-) - TLama