我只是为了好玩做一个虚拟桌面玩Magic The Gathering与朋友。我用的是 Delphi 2010。卡片在应用程序中由TImage
组件表示(从数据库加载卡片的PNG文件)。这里的重点是,在MTG中,一个非常常见的事情就是点击一张卡片(向右旋转90度)。有简单的方法吗?我真的不需要“动画”,只是卡旋转一次被点击(动画将是很好的,虽然)。游戏应该与许多卡同时工作,他们可以在任何地方移动的形式。我想在有卡的图像挖掘和未挖掘的数据库,但这可能是一个矫枉过正,如果有一个很好的和有效的方式来旋转卡。
有什么想法吗?
6条答案
按热度按时间zzzyeukh1#
最古老的方法是使用PlgBlt。
7fhtutme2#
或者你可以离开
TImage
,使用例如。TPaintBox
和GDI+库。GDI+有一个RotateFlip
方法可以直接完成这个任务。使用GDI+ Library for Delphi
,它看起来像:太夸张了,不是吗:-?
bkhjykvo3#
您可以使用TPaintBox代替TImage,并使用SetWorldTransform和旋转矩阵来绘制横抽的卡片。我使用StretchDrawRotated来实现:
oymdgrw74#
你也可以使用Graphics32库,或者只是这个函数,我之前从CodeCentral那里得到的:
huus2vyu5#
Graphics32库已经在上面提到过了。
我想再提一个很好的库,
Vampyre Imaging
8mmmxcuj6#