Click here to Skip to main content
11,704,509 members (60,410 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 Sergey Alexandrovich Kryukov 738
1 OriginalGriff 495
2 Andy Lanng 275
3 CPallini 242
4 Maciej Los 235
0 OriginalGriff 8,824
1 Sergey Alexandrovich Kryukov 8,247
2 CPallini 5,189
3 Maciej Los 4,726
4 Mika Wendelius 3,606

Advertise | Privacy | Mobile
Web02 | 2.8.150819.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