QBitmap类

QBitmap类提供单色(1位深度)位图。 更多信息...

头文件 #include <QBitmap>
CMakefind_package(Qt6 REQUIRED COMPONENTS Gui)
target_link_libraries(mytarget PRIVATE Qt6::Gui)
qmakeQT += gui
继承 QPixmap

公开函数

QBitmap()
QBitmap(int width, int height)
QBitmap(const QString &fileName, const char *format = nullptr)
voidclear()
voidswap(QBitmap &other)
QBitmaptransformed(const QTransform &matrix) const
QVariantoperator QVariant() const

静态公开成员

QBitmapfromData(const QSize &size, const uchar *bits, QImage::Format monoFormat = QImage::Format_MonoLSB)
QBitmapfromImage(const QImage &image, Qt::ImageConversionFlags flags = Qt::AutoColor)
QBitmapfromImage(QImage &&image, Qt::ImageConversionFlags flags = Qt::AutoColor)
(自6.0起) QBitmapfromPixmap(const QPixmap &pixmap)

详细描述

QBitmap类是一个单色离屏绘图设备,主要用于创建自定义的QCursorQBrush对象,构建QRegion对象,以及为位图和控件设置掩码。

QBitmap是QPixmap子类,确保深度为1,除了空对象,它们的深度为0。如果将具有大于1的深度的位图分配给位图,位图将自动进行抖动。

绘制在QBitmap对象(或深度为1的QPixmap对象)上时,使用QColor对象Qt::color0Qt::color1

使用Qt::color0进行绘制将位图位设置为0,使用Qt::color1进行绘制将位图位设置为1。对于位图,0位表示背景(或透明像素),而1位表示前景(或不透明像素)。使用clear()函数将所有位设置为Qt::color0。请注意,使用Qt::blackQt::white颜色没有意义,因为QColor::pixel()的值对黑色不一定为0,对白色不一定为1。

QBitmap类提供了transformed()函数,返回位图的变换拷贝;使用QTransform参数来平移、缩放、扭曲和旋转位图。此外,QBitmap提供了静态fromData()函数,它返回从给定uchar数据构建的位图,以及返回QImage对象转换拷贝的静态fromImage()函数。

QPixmap类类似,QBitmap通过使用隐式数据共享进行了优化。有关更多信息,请参阅隐式数据共享文档。

另请参阅QPixmapQImageQImageReaderQImageWriter

成员函数文档

QBitmap::QBitmap()

构造一个空位图。

另请参阅QPixmap::isNull

QBitmap::QBitmap(int width, int height)

构造一个具有给定widthheight的位图。内部的像素是未初始化的。

另请参阅clear

[显式构造函数] QBitmap::QBitmap(const QString &fileName, const char *format = nullptr)

从指定的fileName文件中构造一个位图。如果文件不存在或格式未知,则位图变为空位图。

fileNameformat参数传递给QPixmap::load()函数。如果文件格式每个像素使用超过1位,则位图将自动进行抖动。

另请参阅QPixmap::isNull()和QImageReader::imageFormat

void QBitmap::clear()

清除位图,将其所有位设置为Qt::color0

[静态] QBitmap QBitmap::fromData(const QSize &size, const uchar *bits, QImage::Format monoFormat = QImage::Format_MonoLSB)

使用给定的size构造一个位图,并设置其内容为提供的bits

位图数据必须字节对齐,并以 monotFormat 指定的位顺序提供。单色格式必须是 QImage::Format_MonoQImage::Format_MonoLSB。使用 QImage::Format_Mono 来指定 XBM 格式上的数据。

另请参阅 fromImage

[静态] QBitmap QBitmap::fromImage(const QImage &image, Qt::ImageConversionFlags flags = Qt::AutoColor)

返回给定 image 的拷贝,并使用指定的图像转换 flags 转换为位图。

另请参阅 fromData

[静态,自 6.0 版起] QBitmap QBitmap::fromImage(QImage &&image, Qt::ImageConversionFlags flags = Qt::AutoColor)

这是一个重载函数。

返回给定 image 的拷贝,并使用指定的图像转换 flags 转换为位图。

另请参阅 fromData

[静态] QBitmap QBitmap::fromPixmap(const QPixmap &pixmap)

返回给定 pixmap 的拷贝,将其转换为位图。

如果 pixmap 的深度大于 1,产生的位图将被自动抖动。

此功能在 Qt 6.0 中引入。

另请参阅 QPixmap::depth

void QBitmap::swap(QBitmap &other)

与当前位图交换 other 位图。此操作非常快且永远不会失败。

QBitmap QBitmap::transformed(const QTransform &matrix) const

返回一个拷贝的位图,其根据给定的 matrix 进行了转换。

另请参阅 QPixmap::transformed

QVariant QBitmap::operator QVariant() const

将位图作为 QVariant 返回。

© 2024 The Qt Company Ltd. 本文档中的文档贡献为各自所有者的版权。本提供的文档根据自由软件基金会的出版,受 GNU 自由文档许可证版本 1.3 的条款许可。Qt 和相应的标志是芬兰和/或全球其他国家的 The Qt Company Ltd. 的商标。所有其他商标均为其各自所有者的财产。