gpt4 book ai didi

delphi - Delphi 2007 中的动画 GIF 和 TDrawgrid

转载 作者:行者123 更新时间:2023-12-03 15:55:16 25 4
gpt4 key购买 nike

我能够使用类似下面的代码来绘制图像:

ACanvas.Draw(ARect.Left+16, ARect.Top+4, imgGIF.Picture.Graphic )

现在该 imgGIF 组件的 gif 正在通过

加载
  GIF := TGifImage.Create;
GIF.LoadFromFile('path\to\gif\processing.gif');
GIF.Animate := True;
imgGIF.Picture.Graphic.Assign(GIF);

我正在设置

GIFImageDefaultAnimate := True;
GIFImageDefaultTransparent := True;

环境为Delphi 2007,使用Delphi 2007 DVD自带的TGifImage。这可能吗?要在 TDrawgrid 单元格上显示动画 GIF?

我不认为这是因为canvas.draw只是绘制图像,而不是将组件插入到单元格中 - 所以据我所知,它只是在gif上绘制固定图像。

最佳答案

何时 TGIFImage.Animate设置为 True,调用 Canvas.Draw()将渲染动画的当前帧。当 TGIFImage被放置在 TImage 内, TImage使用 TGraphic.OnChange动画运行时自动重绘最新帧的事件。对TDrawGrid做同样的事情,您必须调用Canvas.Draw()周期性地,例如在间隔设置为 TGIFImage.FrameDelay 值的计时器中属性(property)。否则,将 GIF 图像加载到单独的 TGIFImageTDrawGrid 的实例的使用,以便您可以利用 TGraphic.OnChange事件。

关于delphi - Delphi 2007 中的动画 GIF 和 TDrawgrid,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5587734/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com