【发布时间】:2013-07-15 14:23:18
【问题描述】:
在我的项目中,我有一个 QLabel,我经常像这样更改像素图:
ui->frameLabel->setPixmap(slot_pic[blockId[currentSlot]][damageId[currentSlot]]);
slot_pic 只是一个 2d 地图。所以你可以这样看更清楚:
ui->frameLabel->setPixmap(pixmap);
图片大小为 16x16,我的标签为 32x32。我已经检查了 scaledContents,所以当像素图发生变化时,图像的大小会增加一倍。但是,现在图像很模糊。我明白为什么,但我想知道是否有办法让它保持像素化。我想要一个更大的像素化图像。 (图片来自 Minecraft,如果这有助于您理解我的意思)
感谢您的宝贵时间 :)
【问题讨论】:
-
您可以在
QPainter中设置一些RenderHints。在那里您可以禁用抗锯齿。我不确定如何让QLabel::paintEvent使用此标志。 -
我从来没有弄乱过 QPainter,所以我得研究一下。我的程序中没有创建像素图,你知道的。它只是一个资源png文件。我有一个较小的图像,当您单击它时,标签会显示相同的图像但更大。
标签: c++ qt interpolation image-resizing qpixmap