Click here to Skip to main content
11,805,604 members (50,514 online)
Rate this: bad
Please Sign up or sign in to vote.
See more: C++ QT
I am developing a simple painting tool using Qt. For that I modified Qt's scribble code to draw text on an image. I can draw text on a normal jpg image using the below code. But when I load a big image(high resolution image), The text overlaps each other. I tried several technique but not get a perfect result


QPainter painter(&image);
   painter.setPen(m_myPenColor);//(QPen(m_myPenColor, myPenWidth,
   painter.setFont(m_myFont );
   QFontMetricsF fm(m_myFont);
   qreal pixelsHigh = fm.height();
   qreal pixelwidthMil = fm.width("First Text");
   qreal pixelwidthMm = fm.width("Second Text");
   qreal pixelWidthMax= (pixelwidthMil>=pixelwidthMm)?pixelwidthMil:pixelwidthMm;
   int iX=0,iY=0;
   iX = endPoint.x();
   iY = endPoint.y()+(int)pixelsHigh;
   painter.drawText(iX+2, iY, "First Text");
   iY = iY + (int)pixelsHigh+1;
   painter.drawText(iX+2, iY, "Second Text");
   pixelsHigh = (pixelsHigh*2)+6;
   pixelWidthMax = pixelWidthMax+6;
   update(endPoint.x()-2, endPoint.y()-2, (int)pixelWidthMax,(int)pixelsHigh);
Posted 18-Aug-12 15:42pm
Edited 18-Aug-12 18:52pm

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

  Print Answers RSS
0 OriginalGriff 3,265
1 Maciej Los 1,990
2 KrunalRohit 1,907
3 CPallini 1,855
4 Richard MacCutchan 1,227

Advertise | Privacy | Mobile
Web03 | 2.8.151002.1 | Last Updated 19 Aug 2012
Copyright © CodeProject, 1999-2015
All Rights Reserved. Terms of Service
Layout: fixed | fluid

CodeProject, 503-250 Ferrand Drive Toronto Ontario, M3C 3G8 Canada +1 416-849-8900 x 100