[Qt-interest] How to paint the Background of QImage without loosing its Foreground Contents.
varun singh
mailthatmale at yahoo.co.in
Fri Jul 31 17:33:59 CEST 2009
hi,
Well, i'm trying to make a painting application. I'm getting some trouble with setting the background color.
I've QImage object as my painting space, hence i used QImage->fill() fuction to fill the QImage with a particular color.
But, if i scribble something on QImage (with Pen) and then use fill function, it clears everything n fills the image with the new color (well, that's obvious)...
Hence I've run nested for loops to access each pixel of Qimage and check whether it is already colored with Pen, if it is not then i call setPixel() function to color it with background color.
But its not working, each pixel is still getting painted.
Here is the code
******************************************************************************
//mBColor is of type QRgb.
void PaintWidget::setBColor(QRgb color) //sets the Background Color
{
mBColor = color;
int x, y;
for(x = 0; x <= mPaintImage->width() - 1; x++)
{
for(y = 0; y <= mPaintImage->height() - 1; y++)
{
if(QColor(mPaintImage->pixel(x, y)) != mFColor) //mFColor is
{ //Foregournd
mPaintImage->setPixel(x, y, mBColor); //Ccolor.
}
}
}
emit bColorChanged(mBColor);
update();
}
*******************************************************************************
I'm Desperately looking for some help.
-Varun
Looking for local information? Find it on Yahoo! Local http://in.local.yahoo.com/
More information about the Qt-interest-old
mailing list