0

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

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

我需要建议这种方法有什么问题,其次,对于所需的应用程序还有其他最佳方法吗?谢谢

4

2 回答 2

1

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

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

于 2012-08-28T12:26:14.913 回答
0

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

于 2012-08-28T12:10:01.843 回答