8

私のプロジェクトでは、次のようにピックスマップを頻繁に変更する QLabel があります。

ui->frameLabel->setPixmap(slot_pic[blockId[currentSlot]][damageId[currentSlot]]);

slot_pic は単なる 2D マップです。したがって、次のように明確に見ることができます。

ui->frameLabel->setPixmap(pixmap);

画像のサイズは 16x16 で、私のラベルは 32x32 です。私は scaledContents をチェックしたので、ピックスマップが変更されると、画像のサイズが 2 倍になります。ただし、現在、画像はぼやけています。理由はわかりますが、ピクセル化したままにする方法があるかどうか疑問に思っていました。より大きなピクセル化された画像が必要です。(画像はマインクラフトのものです)

御時間ありがとうございます :)

4

1 に答える 1

19

QLabel にスケーリングをさせないでください。代わりに、 を使用して自分でスケーリングを行いますQPixmap::scaled()。このようなもの:

ui->frameLabel->setPixmap(
    pixmap.scaled(32, 32, Qt::IgnoreAspectRatio, Qt::FastTransformation));

重要なパラメーターは最後のパラメーターで、transformModeバイリニア フィルター処理が使用されているかどうかを示します。

于 2013-07-17T07:32:24.663 に答える