无法在 Delphi XE3 中播放 GIF 动画?
Cannot play animated GIF in Delphi XE3?
我从 . The following the instructions in How to use Animated Gif in a delphi form 下载了一个 GIF 动画文件来播放。但是我看到的总是一个没有任何动画的白色块。为什么?
让我详细描述一下过程:
当我尝试添加动画 GIF 时,我看到以下屏幕:
点击“确定”按钮后,我将看到以下内容:
整个项目(Delphi 10.3)在https://www.dropbox.com/s/jbsj86fgpq6qkpi/TestGIF.zip?dl=0
相关代码仅在下方:
procedure TForm1.Button1Click(Sender: TObject);
begin
(Image1.Picture.Graphic as TGIFImage).Animate := True;
( Image1.Picture.Graphic as TGIFImage ).AnimationSpeed:= 500;
end;
更多信息:
- 我看到Vcl.Imaging.GIFImg是我设置图片为GIF后自动添加的
- 我在设计器中看不到第一帧,我能看到的是一个白色的块。
- 我试过其他GIF images.For静态图片,都可以正常显示。对于动画GIF,当我加载它时,图片编辑器将能够显示第一帧,但是当我select“确定”时,TImage将再次变成白色块。
在我下载了您提到的图像之前,我无法重现该问题。
原因(至少是我可以重现“错误”的唯一方法)是 TImage
默认设计器尺寸为 105 x 105,在这种情况下它显示了一部分(顶部-左)图像。图像为 630 x 637,TImage
中显示的可见部分是左上角的白色区域,旋转器从不绘制该区域。
简单修正就是设置Proportional
属性True
另请注意,图片编辑器 window 会缩放图像以适合其视口。
我从
让我详细描述一下过程:
当我尝试添加动画 GIF 时,我看到以下屏幕:
点击“确定”按钮后,我将看到以下内容:
整个项目(Delphi 10.3)在https://www.dropbox.com/s/jbsj86fgpq6qkpi/TestGIF.zip?dl=0
相关代码仅在下方:
procedure TForm1.Button1Click(Sender: TObject);
begin
(Image1.Picture.Graphic as TGIFImage).Animate := True;
( Image1.Picture.Graphic as TGIFImage ).AnimationSpeed:= 500;
end;
更多信息:
- 我看到Vcl.Imaging.GIFImg是我设置图片为GIF后自动添加的
- 我在设计器中看不到第一帧,我能看到的是一个白色的块。
- 我试过其他GIF images.For静态图片,都可以正常显示。对于动画GIF,当我加载它时,图片编辑器将能够显示第一帧,但是当我select“确定”时,TImage将再次变成白色块。
在我下载了您提到的图像之前,我无法重现该问题。
原因(至少是我可以重现“错误”的唯一方法)是 TImage
默认设计器尺寸为 105 x 105,在这种情况下它显示了一部分(顶部-左)图像。图像为 630 x 637,TImage
中显示的可见部分是左上角的白色区域,旋转器从不绘制该区域。
简单修正就是设置Proportional
属性True
另请注意,图片编辑器 window 会缩放图像以适合其视口。