在我的项目中,我有一个 QLabel,我经常像这样更改像素图:
ui->frameLabel->setPixmap(slot_pic[blockId[currentSlot]][damageId[currentSlot]]);
slot_pic 只是一个二维 map 。所以你可以像这样看得更清楚:
ui->frameLabel->setPixmap(pixmap);
图像尺寸为 16x16,我的标签尺寸为 32x32。我已经检查了 scaledContents,所以当像素图改变时,图像的大小加倍。然而,图像现在变得模糊了。我明白为什么,但我想知道是否有办法让它保持像素化。我只想拥有更大的像素化图像。 (图片来自 Minecraft,如果可以帮助您理解我的意思)
感谢您的宝贵时间:)
最佳答案
不要让 QLabel 进行缩放。相反,使用 QPixmap::scaled()
自己进行缩放.像这样:
ui->frameLabel->setPixmap(
pixmap.scaled(32, 32, Qt::IgnoreAspectRatio, Qt::FastTransformation));
重要的参数是最后一个,transformMode
,它告诉我们是否使用双线性过滤。
关于c++ - (Qt C++)调整像素图大小并保持像素化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17692900/