一、描述
QBitmap 是一个 QPixmap 子类,非空图像深度固定为 1,即位图。如果将深度大于 1 的像素图分配给位图,位图将自动抖动。
和 QPixmap 类一样,QBitmap 通过使用隐式数据共享进行了优化。
在 QBitmap 对象(或深度为 1 的 QPixmap 对象)上绘图时,使用 QColor 对象 Qt::color0和 Qt::color1:
- 使用 Qt::color0 绘画将位图位设置为 0。
- 使用 Qt::color1 绘画将位设置为 1。
对于位图:
- 0 位表示背景(或透明像素)
- 1 位表示前景(或不透明像素)
使用 Qt::black 和 Qt::white 颜色没有意义,因为 QColor::pixel() 值不一定是黑色的 0 和白色的 1。
二、成员函数
1、QBitmap(int width, int height)
构造具有给定宽度和高度的位图。里面的像素是未初始化的。
2、void clear()
清除位图,将其所有位设置为 Qt::color0。
3、[static]
QBitmap fromData(const QSize &size, const uchar *bits, QImage::Format monoFormat = QImage::Format_MonoLSB)
构造具有给定大小的位图,并将内容设置为提供的位 bits。
位图数据必须按字节对齐并以 monoFormat 指定的位顺序提供。
4、[static]
QBitmap fromImage(const QImage &image, Qt::ImageConversionFlags flags = Qt::AutoColor)
[static]
QBitmap fromImage(QImage &&image, Qt::ImageConversionFlags flags = Qt::AutoColor)
QImage 转位图。
5、QBitmap fromPixmap(const QPixmap &pixmap)
QPixmap 转位图。
6、QBitmap transformed(const QTransform &matrix)
获取转换位图后的副本。