int main( int argc, char **argv ) { QApplication a( argc, argv ); // input for tst_QPainter::drawLine_rop_bitmap() { QBitmap dst = createDestBitmap(); dst.save( "../../drawLine_rop_bitmap/dst.xbm", "XBM" ); } // input for tst_QPainter::drawPixmap_rop_bitmap() { QBitmap dst = createDestBitmap(); QBitmap src1 = createSrcBitmap( 4, 2 ); QBitmap src2 = createSrcBitmap( 4, 0 ); dst.save( "../../drawPixmap_rop_bitmap/dst.xbm", "XBM" ); src1.save( "../../drawPixmap_rop_bitmap/src1.xbm", "XBM" ); src1.mask()->save( "../../drawPixmap_rop_bitmap/src1-mask.xbm", "XBM" ); src2.save( "../../drawPixmap_rop_bitmap/src2.xbm", "XBM" ); } // input for tst_QPainter::drawPixmap_rop() { QPixmap dst1 = createDestPixmap(); QPixmap dst2 = createDestPixmap(); dst2.resize( 32, 32 ); QBitmap src1 = createSrcBitmap( 32, 0 ); QBitmap src_tmp = createSrcBitmap( 32, 0 ).xForm( QWMatrix( 1, 0, 0, -1, 0, 0 ) ); src_tmp.resize( 32, 48 ); QBitmap src2 = src_tmp.xForm( QWMatrix( 1, 0, 0, -1, 0, 0 ) ); QBitmap mask( 32, 48, TRUE ); { QPainter painter; painter.begin( &mask ); painter.setPen( QPen( Qt::color1, 1 ) ); painter.setBrush( Qt::color1 ); painter.drawRect( 0, 16, 32, 32 ); painter.end(); } src2.setMask( mask ); QBitmap src3 = createSrcBitmap( 32, 0 ).xForm( QWMatrix( 1, 0, 0, -1, 0, 0 ) ); dst1.save( "../../drawPixmap_rop/dst1.png", "PNG" ); dst2.save( "../../drawPixmap_rop/dst2.png", "PNG" ); src1.save( "../../drawPixmap_rop/src1.xbm", "XBM" ); src2.save( "../../drawPixmap_rop/src2.xbm", "XBM" ); src2.mask()->save( "../../drawPixmap_rop/src2-mask.xbm", "XBM" ); src3.save( "../../drawPixmap_rop/src3.xbm", "XBM" ); } }
void rectangle::paintEvent(QPaintEvent *) { QBitmap bmp (this->rect().width(), this->height()); QPainter paint(&bmp); QPen pen(Qt::black); pen.setWidth(4); paint.setPen(pen); paint.setBrush(Qt::white); paint.drawRect(1,1,bmp.rect().width()-2, bmp.rect().height()-2); this->setMask(bmp); bmp.save("c:/1.bmp"); }