[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-cygwin
Subject: Re: QBitmap problems
From: Peter_Kümmel <syntheticpp () gmx ! net>
Date: 2005-01-26 14:52:41
Message-ID: 41F7AEB9.3020500 () gmx ! net
[Download RAW message or body]
Chris January wrote:
> why the final composite image looks incorrect.
I can't see a incorrectness? Attached my code.
Peter
["main.cpp" (text/plain)]
/****************************************************************************
**
** QBitmap test program
**
*****************************************************************************/
#include <qapplication.h>
#include <qwidget.h>
#include <qbitmap.h>
#include <qpaintdevice.h>
#include <qpainter.h>
#include "standrews.xbm"
#include "stpatricks.xbm"
#include "stgeorges.xbm"
#include "stgeorges_mask.xbm"
class QBitmapWidget : public QWidget {
public:
QBitmapWidget () : QWidget ()
{
standrews = *new QBitmap (108, 70, (const uchar *) standrews_bits, true);
stpatricks = *new QBitmap (108, 70, (const uchar *) stpatricks_bits, true);
stgeorges = *new QBitmap (108, 70, (const uchar *) stgeorges_bits, true);
stgeorges_mask = *new QBitmap (108, 70, (const uchar *) stgeorges_mask_bits, true);
standrews_masked = standrews;
standrews_masked.setMask (standrews_masked);
stpatricks_masked = stpatricks;
stpatricks_masked.setMask (stpatricks_masked);
stgeorges_masked = stgeorges;
stgeorges_masked.setMask (stgeorges_masked);
setMinimumSize (324, 210);
}
protected:
void paintEvent ( QPaintEvent *e )
{
QPainter p (this);
// p.setBrush (Qt::white);
// p.eraseRect (e->rect ());
#if 0
QBitmap copy = standrews;
p.setPen (Qt::blue);
//copy.setMask (stgeorges_mask);
//copy.setMask (QBitmap ());
copy.detach();
p.drawPixmap (QPoint (10, 10), copy);
#else
p.setPen (Qt::blue); p.drawPixmap (QPoint (0, 0), standrews);
p.setPen (Qt::black); p.drawPixmap (QPoint (0, 70), standrews);
p.setPen (Qt::blue); p.drawPixmap (QPoint (0, 140), standrews_masked);
p.setPen (Qt::red); p.drawPixmap (QPoint (108, 0), stpatricks);
p.setPen (Qt::black); p.drawPixmap (QPoint (108, 70), stpatricks);
p.setPen (Qt::red); p.drawPixmap (QPoint (108, 140),stpatricks_masked);
p.setPen (Qt::red); p.drawPixmap (QPoint (216, 0), stgeorges);
p.setPen (Qt::black); p.drawPixmap (QPoint (216, 70), stgeorges_mask);
p.setPen (Qt::red); p.drawPixmap (QPoint (216, 140),stgeorges_masked);
p.setPen (Qt::blue); p.drawPixmap (QPoint (324, 0), standrews);
p.setPen (Qt::red); p.drawPixmap (QPoint (324, 0), stpatricks);
p.drawPixmap (QPoint (324, 0), stgeorges);
p.setPen (Qt::black); p.drawPixmap (QPoint (324, 70), standrews);
p.drawPixmap (QPoint (324, 70), stpatricks);
p.drawPixmap (QPoint (324, 70), stgeorges_mask);
//p.drawPixmap (QPoint (324, 70), stgeorges);
p.setPen (Qt::blue); p.drawPixmap (QPoint (324, 140),standrews_masked);
p.setPen (Qt::red); p.drawPixmap (QPoint (324, 140),stpatricks_masked);
p.drawPixmap (QPoint (324, 140),stgeorges_masked);
#endif
}
private:
QBitmap standrews, stpatricks, stgeorges, stgeorges_mask;
QBitmap standrews_masked, stpatricks_masked, stgeorges_masked;
};
/*
QBitmap QBitmapWidget::standrews = QBitmap (108, 70, (const uchar *) standrews_bits, true);
QBitmap QBitmapWidget::stpatricks = QBitmap (108, 70, (const uchar *) stpatricks_bits, true);
QBitmap QBitmapWidget::stgeorges = QBitmap (108, 70, (const uchar *) stgeorges_bits, true);
QBitmap QBitmapWidget::stgeorges_mask = QBitmap (108, 70, (const uchar *) stgeorges_mask_bits, true);
*/
int main( int argc, char **argv )
{
QApplication a(argc,argv);
QBitmapWidget w;
a.setMainWidget( &w );
w.resize(430, 210 );
w.show();
return a.exec();
}
_______________________________________________
kde-cygwin mailing list
kde-cygwin@kde.org
https://mail.kde.org/mailman/listinfo/kde-cygwin
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic