2011-11-22 90 views
2

如何在Delphi中旋轉png圖像並保持其透明度? 我通過TPNGObject加載它。 我然後使用Canvas.StretchDraw(MyRect, the TPNGObject)但我不知道如何旋轉它。如何旋轉png圖像Delphi?

+3

我還沒有使用它的輪換,但你可以嘗試在www.graphics32.org的免費軟件,如果你不嘗試這裏沒有更好的答案。 – RobertFrank

+1

我懷疑這會在VCL中緩慢而痛苦,在graphics32 + VCL中緩慢而簡單,並且在XE2的Firemonkey(FMX)中快速簡單。 –

+1

繼[鏈接] [這個答案](http://stackoverflow.com/questions/2437714/resize-png-image/2439466#2439466)將導致示例代碼。 –

回答

3

問題是,如果您使用Canvas進行旋轉,您將失去透明度,就像您用TPNGObject記下的那樣。

這是因爲Canvas不支持PNG圖像所需級別的透明度。

相反,您必須使用專門的代碼來旋轉PNG圖像。這裏是一個支持TPNGObject的代碼庫的鏈接,包括一個函數來旋轉它: http://cc.embarcadero.com/Item/25631

+0

非常感謝Marcus ..但是你有沒有想法如何固定這段代碼,因爲他在寬度和高度上使用了循環。 –