AQImage
需要最终显示为 a 中的缩略图QLabel
。在两者之间,它被序列化QByteArray
并通过网络发送。那么,我们可以转换QImage
为QByteArray
缩略图吗?基本上我想避免这种QImage::scale()
方法,因为它非常消耗 CPU。就像QImage
转换为 a一样QByteArray
,它将保存缩略图图像的数据。
问问题
891 次
1 回答
0
在这种情况下,您无法避免 QImage::scale。你为什么想要?这是您如何将 QImage 保存到 QByteArray 的问题的答案。
QFile file(imagePath);
if (file.open(QIODevice::ReadOnly)) {
QByteArray bytes;
QImage img;
img = img.fromData(file.readAll());
img = img.scaled(200, 100, Qt::IgnoreAspectRatio, Qt::FastTransformation);
SetLabelImage(img);
QBuffer buffer(&bytes);
img.save(&buffer, "PNG");
}
于 2018-04-05T06:53:26.850 回答