2

スケーリングと変換中に問題が発生しましたQGraphicsPixmapItem。初期サイズが 100,100 のグラフィック エディターを作成しQGraphicsItem、その後、方法でサイズ変更と回転を行っていsetTransform()ます。

その後、この変換を保存し、これらの変換を使用して画像とビデオを表示しているプレーヤーと呼ばれる別のアプリケーションにこれらを使用していますQgraphicsPixmapItemsetTransform.

拡大・縮小・変形してもこのまま鮮明さを保てますか? 使用している画像は2560x1440ピクセルです。どんな助けでも大歓迎です。

コードは次のとおりです。

QGraphicsPixmapItem *pixitem = new QGraphicsPixmapItem;
pixitem->setFlags(QGraphicsItem::ItemIsMovable);
pixitem->setPos(50,50);
QTransform trans;
trans.setMatrix(4.20399,2.9286,0,-3.86601,0.761397,0,33.1015,-134.5,1);
pixitem->setPixmap(QPixmap("abc.jpg").scaled(100,100));
pixitem->setTransform(trans);
pixitem->setShapeMode(QGraphicsPixmapItem::MaskShape);
scene->addItem(pixitem);
4

1 に答える 1

2

関数を使用setTransformationModeして、ピックスマップ アイテムの変換モードを設定できます。デフォルト値は です Qt::FastTransformation。変換モードを に設定してQt::SmoothTransformation、スケーリングされたときに品質が向上するバイリニア フィルタリングを有効にする必要があります。

pixitem->setTransformationMode(Qt::SmoothTransformation);
于 2015-05-06T06:46:09.703 に答える