私はQImage(x、y)に中心があり、サイズ(w、h)があります。回転を適用し、最終的に を使用してスケーリングしQTransformます。これで、(x,y) を中心に新しい画像 (回転/スケーリング) を簡単に配置できます。
QTransform transform = QTransform().translate(0,0).rotateRadians(r).scale(s,s);
QImage image = new QImage(old_image->transformed(transform);
QPolygon回転/スケーリングされた画像の隅に4つのポイントが必要です。私の試みはすべて失敗しました。
QPolygon p = QPolygon(QRect(x-w/2, y-h/2, w, h));
QPolygon p2 = transform.map(p);
また
QPolygon p2 = transform.mapToPolygon(QRect(x-w/2, y-h/2, w, h));
私が得たのは、間違った位置にあるポリゴンだけです。正しいコードはどれですか?