QPixmap,QBitmap,QImage,QPicture

QPixmap专门为图像在屏幕上的显示做了优化; QBitmap是QPixmap 的一个子类,它的色深限定为 1,你可以使用QPixmap的 isQBitmap()函数来确定这个QPixmap是不是一个 QBitmap。QImage 专门为图像的像素级访问做了优化。 QPicture则可以记录和重现QPainter的各条命令。下面我们将分两部分介绍这四种绘图设备。


QPixmap继承了 QPaintDevice,因此,你可以使用QPainter直接在上面绘制图形。 QPixmap也可以接受一个字符串作为一个文件的路径来显示这个文件,比如你想在程序之中打开 png、jpeg 之类的文件,就可以使用 QPixmap。使用QPainter::drawPixmap() 函数可以把这个文件绘制到一个 QLabel、QPushButton 或者其他的设备上面。正如前面所说的那样, QPixmap是针对屏幕进行特殊优化的,因此,它与实际的底层显示设备息息相关。注意,这里说的显示设备并不是硬件,而是操作系统提供的原生的绘图引擎。所以,在不同的操作系统平台下, QPixmap的显示可能会有所差别。
QPixmap提供了静态的 grabWidget()和grabWindow() 函数,用于将自身图像绘制到目标上。同时,在使用 QPixmap时,你可以直接使用传值的形式,不需要传指针,因为 QPixmap提供了“隐式数据共享”。关于这一点,我们会在以后的章节中详细描述。简单来说,就是一般对于大型数据(图像无疑就是这种“大型数据”),为性能起见,通常会采用传指针的方式,但是由于 QPixmap内置了隐式数据共享,所以只要知道传递 QPixmap。 Pixmap就是用来加速显示的,具体实现是依赖于系统的。


前面说过ÿ

你可能感兴趣的:(★QT学习笔记)