有一个图片
png
427KB
2480 X 3507
使用QImage* pImage = new QImage(strImagePath);后
pImage->byteCount() = 34789440
即33M
图片从427KB ==> 33M, 扩大了79倍。
虽然知道png是压缩的,加载到内存会变大,但是也不该放大这么多啊。。
------解决思路----------------------
应该没什么问题,假定你的png是的 BPP 是 32
>>> 2480*3507*4
34789440
话说,不正是因为位图数据保存时太占空间(传输太占带宽),才有 png/jpeg/jp2 等东西存在么,不就是为了是这个压缩比尽可能大么?。
------解决思路----------------------
1. 用QImage加载png
2. QImage.scaled把图片缩放到要显示的合适大小
3. 把QImage转换成QPixmap显示