QPix地图和QImage的区别
QPixmap和QImage的区别
Qt文档中说:
The QImage class provides a hardware-independent image representation that allows direct access to the pixel data, and can be used as a paint device.
The QPixmap class is an off-screen image representation that can be used as a paint device.
但我看了很久,也还是不明白QPixmap和QImage的主要区别是什么?(可能是我太水了吧)
所以在此问一下大家,QPixmap和QImage这两者的主要有什么不同呢?(原理,用途等方面)
------解决方案--------------------
QPixmap依赖于硬件,QImage不依赖于硬件。
QPixmap主要是用于绘图,针对屏幕显示而最佳化设计,QImage主要是为图像I/O、图片访问和像素修改而设计的。
当图片小的情况下,直接用QPixmap进行加载,画图时无所谓,当图片大的时候如果直接用QPixmap进行加载,会占很大的内存,一般一张几十K的图片,用QPixmap加载进来会放大很多倍,所以一般图片大的情况下,用QImage进行加载,然后转乘QPixmap用户绘制。QPixmap绘制效果是最好的。
------解决方案--------------------
以前我尝试了一下效果,只能就表面说一下拙见:
QImage在加载图片时,图片不会根据界面的大小而改变,也就是说我们不能根据界面大小来拉伸和压缩图片;
然而QPixmap在默认情况下,大小即为图片大小,但是它可以拉伸和压缩图片。。。
Qt文档中说:
The QImage class provides a hardware-independent image representation that allows direct access to the pixel data, and can be used as a paint device.
The QPixmap class is an off-screen image representation that can be used as a paint device.
但我看了很久,也还是不明白QPixmap和QImage的主要区别是什么?(可能是我太水了吧)
所以在此问一下大家,QPixmap和QImage这两者的主要有什么不同呢?(原理,用途等方面)
------解决方案--------------------
QPixmap依赖于硬件,QImage不依赖于硬件。
QPixmap主要是用于绘图,针对屏幕显示而最佳化设计,QImage主要是为图像I/O、图片访问和像素修改而设计的。
当图片小的情况下,直接用QPixmap进行加载,画图时无所谓,当图片大的时候如果直接用QPixmap进行加载,会占很大的内存,一般一张几十K的图片,用QPixmap加载进来会放大很多倍,所以一般图片大的情况下,用QImage进行加载,然后转乘QPixmap用户绘制。QPixmap绘制效果是最好的。
------解决方案--------------------
以前我尝试了一下效果,只能就表面说一下拙见:
QImage在加载图片时,图片不会根据界面的大小而改变,也就是说我们不能根据界面大小来拉伸和压缩图片;
然而QPixmap在默认情况下,大小即为图片大小,但是它可以拉伸和压缩图片。。。