根据Windows DPI显示设置在运行时重新调整AnimatedGIF?

时间:2014-06-08 16:30:04

标签: delphi delphi-xe2 scaling

在Delphi XE2中,我在表单上有一个JvGIFAnimator组件(来自JVCL)。现在,当我在Windows DPI显示设置设置为125%的计算机上运行此程序时,所有其他GUI元素和系统文本扩展到125%,遗憾的是GIF动画未调整大小。 GIF嵌入在JvGIFAnimator组件中,在设计时具有TJvGIFAnimator.Image属性作为TJvGIFImage。

有没有办法根据Windows DPI显示设置在运行时重新缩放嵌入式GIF?

1 个答案:

答案 0 :(得分:0)

你必须自己这样或那样做。内置任何内容都不会自动重新缩放。选项包括:

  1. 解码GIF的每一帧。使用图形库调整图像大小。使用调整大小的图像创建新的GIF。
  2. 提供不同尺寸的多个GIF,并使用尺寸最接近目标的GIF。
  3. 在这些选项中,后者更好。动态调整大小会导致可怕的视觉伪像和锯齿。你的动画看起来很可怕。更不用说所涉及的所有编码。选择选项2.

    事实上,对于栅格化动画,这个问题与光栅化静态图像没有什么不同。就像您需要为工具栏按钮提供多个字形一样,您需要提供多个版本的栅格化动画。