Home | All Classes | Main Classes | Annotated | Grouped Classes | Functions |

# QBitmap Class Reference

The QBitmap class provides monochrome (1-bit depth) pixmaps. More...

    #include <QBitmap>

Inherits QPixmap.

- List of all members, including inherited members
- Compatibility members

### Public Functions

- QBitmap ()
- QBitmap ( int width, int height, bool clear = false, QPixmap::Optimization optimization = QPixmap::DefaultOptim )
- QBitmap ( int width, int height, const uchar * bits, bool isXbitmap = false )
- QBitmap ( const QBitmap & bitmap )
- QBitmap ( const QPixmap & pixmap )
- QBitmap ( const QImage & image )
- QBitmap ( const QString & fileName, const char * format = 0 )
- QBitmap ( const QSize & size, bool clear = false, QPixmap::Optimization optimization = QPixmap::DefaultOptim )
- QBitmap ( const QSize & size, const uchar * bits, bool isXbitmap = false )
- QBitmap transform ( const QMatrix & matrix ) const
- QBitmap & operator= ( const QBitmap & bitmap )
- QBitmap & operator= ( const QPixmap & pixmap )
- QBitmap & operator= ( const QImage & image )

- 35 public functions inherited from QPixmap
- 2 public functions inherited from QPaintDevice

### Static Public Members

- 6 static public members inherited from QPixmap

### Protected Functions

- 1 protected function inherited from QPixmap

## Detailed Description

The QBitmap class provides monochrome (1-bit depth) pixmaps.

The QBitmap class is a monochrome off-screen paint device used mainly for creating custom QCursor and QBrush objects, in QPixmap::setMask() and for QRegion.

A QBitmap is a QPixmap with a depth of 1. If a pixmap with a depth greater than 1 is assigned to a bitmap, the bitmap will be dithered automatically. A QBitmap is guaranteed to always have the depth 1, unless it is QPixmap::isNull() which has depth 0.

When drawing in a QBitmap (or QPixmap with depth 1), we recommend using the QColor objects `Qt::color0` and `Qt::color1`. Painting with `Qt::color0` sets the bitmap bits to 0, and painting with `Qt::color1` sets the bits to 1. For a bitmap, 0-bits indicate background (or transparent pixels) and 1-bits indicate foreground (or opaque pixels). Using the `black` and `white` QColor objects make no sense because the QColor::pixel() value is not necessarily 0 for black and 1 for white.

The QBitmap can be transformed (translated, scaled, sheared, and rotated) using xForm().

Just like the QPixmap class, QBitmap is optimized by the use of implicit sharing, so it is very efficient to pass QBitmap objects as arguments.

See also QPixmap, QPainter::drawPixmap(), bitBlt(), and Shared Classes.

## Member Function Documentation

### QBitmap::QBitmap ()

Constructs a null bitmap.

See also QPixmap::isNull().

### QBitmap::QBitmap ( int width, int height, bool clear = false, QPixmap::Optimization optimization = QPixmap::DefaultOptim )

Constructs a bitmap with the given width and height.

The pixels in the bitmap are uninitialized if clear is false; otherwise it is filled with pixel value 0 (the QColor `Qt::color0`).

The optional optimization argument specifies the optimization setting for the bitmap. The default optimization should be used in most cases. Games and other pixmap-intensive applications may benefit from setting this argument; see QPixmap::Optimization.

See also QPixmap::setOptimization() and QPixmap::setDefaultOptimization().

### QBitmap::QBitmap ( int width, int height, const uchar * bits, bool isXbitmap = false )

Constructs a bitmap with the given width and height, and sets the contents to the bits supplied.

The isXbitmap flag should be true if bits was generated by the X11 bitmap program. The X bitmap bit order is little endian. The QImage documentation discusses bit order of monochrome images.

Example (creates an arrow bitmap):

        uchar arrow_bits[] = { 0x3f, 0x1f, 0x0f, 0x1f, 0x3b, 0x71, 0xe0, 0xc0 };
        QBitmap bm(8, 8, arrow_bits, true);

### QBitmap::QBitmap ( const QBitmap & bitmap )

Constructs a bitmap that is a copy of the bitmap given.

### QBitmap::QBitmap ( const QPixmap & pixmap )

Constructs a bitmap that is a copy of the pixmap given.

Dithering will be performed if the pixmap has a QPixmap::depth() greater than 1.

### QBitmap::QBitmap ( const QImage & image )

Constructs a bitmap that is a copy of the image given.

Dithering will be performed if the image has a QImage::depth() greater than 1.

### QBitmap::QBitmap ( const QString & fileName, const char * format = 0 )

Constructs a bitmap from the file referred to by fileName. If the file does not exist, or is of an unknown format, the bitmap becomes a null bitmap.

The parameters fileName and format are passed on to QPixmap::load(). Dithering will be performed if the file format uses more than 1 bit per pixel.

See also QPixmap::isNull(), QPixmap::load(), QPixmap::loadFromData(), QPixmap::save(), and QPixmap::imageFormat().

### QBitmap::QBitmap ( const QSize & size, bool clear = false, QPixmap::Optimization optimization = QPixmap::DefaultOptim )

Constructs a bitmap with the given size.

The pixels in the bitmap are uninitialized if clear is false; otherwise it is filled with pixel value 0 (the QColor `Qt::color0`).

The optional optimization argument specifies the optimization setting for the bitmap. The default optimization should be used in most cases. Games and other pixmap-intensive applications may benefit from setting this argument; see QPixmap::Optimization.

### QBitmap::QBitmap ( const QSize & size, const uchar * bits, bool isXbitmap = false )

Constructs a bitmap with the given size, and sets the contents to the bits supplied.

The isXbitmap flag should be true if bits was generated by the X11 bitmap program. The X bitmap bit order is little endian. The QImage documentation discusses bit order of monochrome images.

### QBitmap QBitmap::transform ( const QMatrix & matrix ) const

Returns a transformed copy of this bitmap using the matrix given.

This function does exactly the same as QPixmap::xForm(), except that it returns a QBitmap instead of a QPixmap.

See also QPixmap::xForm().

### QBitmap & QBitmap::operator= ( const QBitmap & bitmap )

Assigns the bitmap to this bitmap, and returns a reference to it.

### QBitmap & QBitmap::operator= ( const QPixmap & pixmap )

This is an overloaded member function, provided for convenience. It behaves essentially like the above function.

Assigns the pixmap to this bitmap and returns a reference to it.

Dithering will be performed if the pixmap has a QPixmap::depth() greater than 1.

### QBitmap & QBitmap::operator= ( const QImage & image )

This is an overloaded member function, provided for convenience. It behaves essentially like the above function.

Converts the image image to a bitmap, and assigns the result to this bitmap. Returns a reference to the bitmap.

Dithering will be performed if the image has a QImage::depth() greater than 1.