QBitmap Class
QBitmap クラスは、モノクロ(1ビット深度)のピクマップを提供します。詳細...
| ヘッダー: | #include <QBitmap> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Gui) target_link_libraries(mytarget PRIVATE Qt6::Gui) |
| qmake: | QT += gui |
| 継承元: | QPixmap |
- 継承されたメンバーを含むすべてのメンバーの一覧
- 非推奨のメンバ
- QBitmap は、ペイントクラスおよび暗黙的に共有されるクラスの一部です。
パブリック関数
| QBitmap() | |
| QBitmap(const QSize &size) | |
| QBitmap(const QString &fileName, const char *format = nullptr) | |
| QBitmap(int width, int height) | |
| void | clear() |
| void | swap(QBitmap &other) |
| QBitmap | transformed(const QTransform &matrix) const |
| operator QVariant() const |
静的パブリックメンバー
| QBitmap | fromData(const QSize &size, const uchar *bits, QImage::Format monoFormat = QImage::Format_MonoLSB) |
| QBitmap | fromImage(const QImage &image, Qt::ImageConversionFlags flags = Qt::AutoColor) |
| QBitmap | fromImage(QImage &&image, Qt::ImageConversionFlags flags = Qt::AutoColor) |
(since 6.0) QBitmap | fromPixmap(const QPixmap &pixmap) |
詳細な説明
QBitmap クラスは、主にカスタムQCursor およびQBrush オブジェクトの作成、QRegion オブジェクトの構築、およびピクマップやウィジェットのマスク設定に使用される、モノクロのオフスクリーン描画デバイスです。
QBitmap はQPixmap のサブクラスであり、深さが 0 の null オブジェクトを除き、深さを 1 に保証します。深さが 1 より大きいピクマップがビットマップに割り当てられた場合、ビットマップは自動的にディザリングされます。
QBitmapオブジェクト(または深度が1のQPixmap オブジェクト)上に描画を行う際は、QColor オブジェクトであるQt::color0 およびQt::color1 を使用してください。
Qt::color0 を使用して描画すると、ビットマップのビットは 0 に設定され、Qt::color1 を使用して描画すると、ビットは 1 に設定されます。ビットマップの場合、0 ビットは背景(または透明なピクセル)を示し、1 ビットは前景(または不透明なピクセル)を示します。clear() 関数を使用すると、すべてのビットがQt::color0 に設定されます。なお、Qt::black やQt::white の色を使用しても意味がありません。これは、QColor::pixel() の値が、黒の場合に必ずしも 0 とは限らず、白の場合に必ずしも 1 とは限らないためです。
QBitmap クラスは、ビットマップの変形されたコピーを返す `transformed()` 関数を提供しています。QTransform 引数を使用して、ビットマップの平行移動、拡大縮小、せん断、回転を行うことができます。さらに、QBitmap は、指定された `uchar ` データから構築されたビットマップを返す静的関数 `fromData()` と、`QImage ` オブジェクトの変換されたコピーを返す静的関数 `fromImage()` を提供しています。
QPixmap クラスと同様に、QBitmap も暗黙的なデータ共有の利用によって最適化されています。詳細については、「暗黙的なデータ共有」のドキュメントを参照してください。
QPixmap 、QImage 、QImageReader 、およびQImageWriterも参照してください 。
メンバ関数のドキュメント
QBitmap::QBitmap()
ヌルビットマップを生成します。
QPixmap::isNull()も参照してください 。
[explicit] QBitmap::QBitmap(const QSize &size)
指定されたsize を使用してビットマップを作成します。ビットマップ内のピクセルは初期化されていません。
clear()も参照してください 。
[explicit] QBitmap::QBitmap(const QString &fileName, const char *format = nullptr)
指定されたfileName で指定されたファイルからビットマップを生成します。ファイルが存在しない場合、または形式が不明な場合、ビットマップはnullビットマップになります。
fileName およびformat パラメータは、QPixmap::load() 関数に渡されます。ファイル形式が 1 ピクセルあたり 1 ビット以上を使用している場合、結果のビットマップには自動的にディザ処理が施されます。
QPixmap::isNull() およびQImageReader::imageFormat()も参照してください 。
QBitmap::QBitmap(int width, int height)
指定されたwidth およびheight を用いてビットマップを構築します。内部のピクセルは初期化されていません。
clear()も参照してください 。
void QBitmap::clear()
ビットマップをクリアし、すべてのビットをQt::color0 に設定します。
[static] QBitmap QBitmap::fromData(const QSize &size, const uchar *bits, QImage::Format monoFormat = QImage::Format_MonoLSB)
指定されたsize を使用してビットマップを構築し、その内容を指定されたbits に設定します。
ビットマップデータはバイトアラインされており、monoFormat で指定されたビット順で提供されている必要があります。mono形式は、QImage::Format_Mono またはQImage::Format_MonoLSB のいずれかでなければなりません。XBM形式のデータを指定するには、QImage::Format_Mono を使用してください。
fromImage()も参照してください 。
[static] QBitmap QBitmap::fromImage(const QImage &image, Qt::ImageConversionFlags flags = Qt::AutoColor)
指定されたimage のコピーを、指定された画像変換flags を用いてビットマップに変換したものを返します。
fromData()も参照してください 。
[static] QBitmap QBitmap::fromImage(QImage &&image, Qt::ImageConversionFlags flags = Qt::AutoColor)
指定されたimage のコピーを、指定された画像変換flags を使用してビットマップに変換したものを返します。
これはオーバーロードされた関数です。
fromData()も参照してください 。
[static, since 6.0] QBitmap QBitmap::fromPixmap(const QPixmap &pixmap)
指定されたpixmap をビットマップに変換したコピーを返します。
ピクマップの深度が 1 より大きい場合、結果のビットマップには自動的にディザ処理が適用されます。
この関数は Qt 6.0 で導入されました。
QPixmap::depth()も参照してください 。
void QBitmap::swap(QBitmap &other)
このビットマップをother と入れ替えます。この操作は非常に高速で、失敗することはありません。
QBitmap QBitmap::transformed(const QTransform &matrix) const
指定されたmatrix に従って変換された、このビットマップのコピーを返します。
QPixmap::transformed()も参照してください 。
QBitmap::operator QVariant() const
ビットマップをQVariant として返します。
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.