【问题标题】:How to rotate png image Delphi?如何旋转png图像Delphi?
【发布时间】:2011-11-22 14:59:01
【问题描述】:

如何在 Delphi 中旋转 png 图像并保持其透明度? 我通过TPNGObject 加载它。 然后我使用Canvas.StretchDraw(MyRect, the TPNGObject),但我不知道如何旋转它。

【问题讨论】:

  • 我没有用它来旋转,但如果你在这里没有得到更好的答案,你可以试试 www.graphics32.org 上的免费软件。
  • 我怀疑这在 VCL 中会缓慢而痛苦,在 graphics32 + VCL 中缓慢而容易,而在 XE2 中的 Firemonkey (FMX) 中又快又容易。
  • 点击this answer 中的链接会跳转到示例代码。

标签: delphi image-processing rotation


【解决方案1】:

问题是,如果您使用 Canvas 进行旋转,您将失去透明度,正如您在 TPNGObject 中所指出的那样。

这是因为 Canvas 不支持 PNG 图像所需级别的透明度。

相反,您必须使用专门的代码来旋转 PNG 图像。这是一个支持 TPNGObject 的代码库的链接,包括一个旋转它的函数: http://cc.embarcadero.com/Item/25631

【讨论】:

  • 非常感谢 Marcus ..但是您知道如何固定这段代码,因为他在宽度和高度上使用了 for 循环。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-11-01
  • 2012-05-05
  • 2019-04-20
  • 2012-01-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多