Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Delphi 如何旋转png图像?_Delphi_Image Processing_Rotation - Fatal编程技术网

Delphi 如何旋转png图像?

Delphi 如何旋转png图像?,delphi,image-processing,rotation,Delphi,Image Processing,Rotation,如何在Delphi中旋转png图像并保持其透明度? 我通过TPNGObject加载了它。 然后我使用了Canvas.StretchDraw(MyRect,TPNGObject),但我不知道如何旋转它。问题是,如果使用Canvas进行旋转,您将失去透明度,正如您在TPNGObject中指出的那样 这是因为画布不支持PNG图像所需级别的透明度 相反,必须使用专用代码旋转PNG图像。以下是一个指向支持TPNGObject的代码库的链接,其中包括一个用于旋转TPNGObject的函数: 我没有用它来旋转

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

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

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

相反,必须使用专用代码旋转PNG图像。以下是一个指向支持TPNGObject的代码库的链接,其中包括一个用于旋转TPNGObject的函数:

我没有用它来旋转,但是如果你在这里没有更好的答案,你可以在www.graphics32.org上试用免费软件。我怀疑这在VCL中会很慢很痛苦,在graphics32+VCL中会很慢很容易,在Firemonkey(FMX)中会很快很容易在XE2中。按照中的链接将生成示例代码。非常感谢Marcus。但是您知道如何固定此代码吗,因为他在宽度和高度上使用了for循环。