2012-08-28 37 views
0

我有一个GIF格式的大小为12x12的QImage。我想以非常高的频率在一定角度上旋转它。我的应用程序涉及到一个机器人,所以当它改变方向时(它经常这样做),我的QImage模拟也应该旋转,但它会导致信息丢失。我正在做下面的事情。QImage旋转不失信息

robot_transform.rotate(angle); 
*robot2 = robot->transformed(robot_transform,Qt::SmoothTransformation); 
*robot2= robot2->scaled(12,12, Qt::KeepAspectRatio,Qt::SmoothTransformation); 

我需要建议,什么是错在这种方法中,其次是有希望的应用程序的任何其他最佳方法? 谢谢

回答

0

问题是缩放后,你需要裁剪图像的中心。你可以用QImage::copy来做到这一点。

1

我会将源图像的分辨率提高至少两倍。将图像旋转到非90度角会导致像素信息丢失。更高的资源可以弥补这一点。

大多数基于动画的动画使用每个可能角度的预渲染图像。

+0

甚至使用矢量图形... – leemes