Painting Text

The LEADTOOLS LRasterPaint class provides the following function for painting text:

LRasterPaint::ApplyText

This function requires:

This function will paint text based on the current text properties. To determine the current text properties, call LRasterPaint::GetProperty. To set or change the current text properties, call LRasterPaint::SetProperty. For more information on the text properties, refer to the PAINTTEXT structure.

Any transformation information should be set, using the LRasterPaint::SetTransformation function before calling any text or other painting function. To get the current transformation information, call LRasterPaint::GetTransformation.

The following example sets the text properties and paints some text. It assumes the DigitalPaint class object has been initialized and the window handle is valid:

HDC            hDC ;   
PAINTTEXT text ;   
RECT          rcText ;   
LOGFONT   lf ;    
HFONT        hFont ;   
/* Get device context to draw on */   
hDC = GetDC ( hWnd ) ;   
/* Set the required text font properties */   
lf.lfHeight         = 48 ;   
lf.lfWidth          = 0 ;   
lf.lfEscapement  = 0 ;   
lf.lfOrientation    = 0 ;   
lf.lfWeight         = FW_NORMAL ;   
lf.lfItalic            = FALSE ;   
lf.lfUnderline     = FALSE ;   
lf.lfStrikeOut      = FALSE ;   
lf.lfCharSet        = ANSI_CHARSET ;   
lf.lfOutPrecision   = OUT_DEFAULT_PRECIS ;   
lf.lfClipPrecision  = CLIP_DEFAULT_PRECIS ;   
lf.lfQuality        = DEFAULT_QUALITY ;   
lf.lfPitchAndFamily = FF_DONTCARE ;   
lstrcpy(lf.lfFaceName, TEXT("Times New Roman"));   
/* Create the desired text font */   
hFont = CreateFontIndirect ( &lf ) ;   
/* Set the desired text properties */   
text.nSize   = sizeof ( PAINTTEXT )  ;   
text.dwMask  = PTF_TEXT | PTF_FONT | PTF_TRANSFORMINFO ;    
text.pszText = TEXT("LEAD") ;   
text.hFont    = hFont ;   
text.TransformInfo.nRotate = 45 ;   
/* Set the new text properties */   
// Assume Paint was constructed from LRasterPaint class   
Paint.SetProperty ( PAINT_GROUP_TEXT, &text ) ;   
/* Set the target text drawing box coordinates with respect to the DC dimensions */   
SetRect ( &rcText, 10, 10, 200, 200 ) ;   
/*Use the current text properties and the current transformations properties to draw the text to the DC */   
Paint.ApplyText ( hDC, &rcText ) ;   
/* Release the device context */   
ReleaseDC ( hWnd, hDC ) ; 

Help Version 20.0.2020.4.2
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2020 LEAD Technologies, Inc. All Rights Reserved.

LEADTOOLS DigitalPaint C++ Class Library Help