在我的项目中,我有一个QLabel,我经常更改像素图:
ui->frameLabel->setPixmap(slot_pic[blockId[currentSlot]][damageId[currentSlot]]);
slot_pic只是一张二维地图。所以你可以这样看清楚:
ui->frameLabel->setPixmap(pixmap);
图像尺寸为16x16,标签为32x32。我已经检查了scaledContents,所以当pixmap改变时,图像的大小是双倍的。但是,图像现在模糊了。我理解为什么,但我想知道是否有办法让它保持像素化。我想要一个更大的像素化图像。 (图片来自Minecraft,如果这有助于你理解我的意思)
感谢您的时间:)
答案 0 :(得分:16)
不要让QLabel进行缩放。相反,请使用QPixmap::scaled()
自行进行缩放。像这样:
ui->frameLabel->setPixmap(
pixmap.scaled(32, 32, Qt::IgnoreAspectRatio, Qt::FastTransformation));
重要的参数是最后一个transformMode
,它告诉我们是否使用了双线性过滤。