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

ソース画像の解像度を少なくとも2倍に上げます。画像を90度以外の角度に回転させると、ピクセル情報が失われます。より高い解像度のソースはそれを補うことができます。

ほとんどのスプライトベースのアニメーションは、可能な角度ごとに事前にレンダリングされた画像を使用します。

于 2012-08-28T12:26:14.913 に答える
0

問題はその後のスケーリングです。画像の中心をトリミングする必要があります。これはQImage::copyで行うことができます。

于 2012-08-28T12:10:01.843 に答える