3

私は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));

私が得たのは、間違った位置にあるポリゴンだけです。正しいコードはどれですか?

4

1 に答える 1