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(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 |
QVariant | 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 オブジェクトの構築、pixmap やウィジェットのマスク設定に使用される、モノクロの画面外ペイントデバイスです。
QBitmap はQPixmap のサブクラスで、深度 1 を保証します。ただし、深度 0 の null オブジェクトは除きます。深度 1 より大きい pixmap がビットマップに割り当てられると、ビットマップは自動的にディザ処理されます。
QBitmap オブジェクト(または深度 1 のQPixmap オブジェクト)に描画する場合は、QColor オブジェクトQt::color0 とQt::color1 を使用してください。
Qt::color0 で描画するとビットマップのビットが 0 になり、Qt::color1 で描画するとビットが 1 になります。ビットマップの場合、0ビットは背景(または透明ピクセル)、1ビットは前景(または不透明ピクセル)を示します。すべてのビットをQt::color0 に設定するには、clear() 関数を使用します。QColor::pixel() の値が黒を 0、白を 1 にするとは限らないため、Qt::black とQt::white の色を使用しても意味がないことに注意してください。
QBitmapクラスは、ビットマップの変換されたコピーを返すtransformed ()関数を提供します。QTransform 引数を使用して、ビットマップを平行移動、拡大縮小、せん断、および回転します。さらにQBitmapは、与えられたuchar
データから構築されたビットマップを返すstaticfromData ()関数と、QImage オブジェクトの変換されたコピーを返すstaticfromImage ()関数を提供します。
QPixmap クラスと同様に、QBitmapは暗黙的なデータ共有によって最適化されています。詳細については、暗黙的データ共有のドキュメントを参照してください。
QPixmap,QImage,QImageReader,QImageWriterも参照してください 。
メンバ関数ドキュメント
QBitmap::QBitmap()
null ビットマップを構築します。
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 で指定されたビット順序で提供されなければなりません。モノフォーマットはQImage::Format_Mono かQImage::Format_MonoLSB のいずれかでなければなりません。 XBM フォーマットのデータを指定するにはQImage::Format_Mono を使います。
fromImage()も参照 。
[static]
QBitmap QBitmap::fromImage(const QImage &image, Qt::ImageConversionFlags flags = Qt::AutoColor)
指定された画像変換flags を使ってビットマップに変換した、与えられたimage のコピーを返します。
fromData()も参照 。
[static]
QBitmap QBitmap::fromImage(QImage &&image, Qt::ImageConversionFlags flags = Qt::AutoColor)
これはオーバーロードされた関数である。
指定された画像変換flags を使ってビットマップに変換した、与えられたimage のコピーを返します。
fromData()も参照してください 。
[static, since 6.0]
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 として返します。
© 2025 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.