Low-Level DigitalPaint: Painting with a Brush

Start with the project you created in Low-Level DigitalPaint: Setting General DigitalPaint Information.

  1. Add the following popup menu to the main menu you created in Low-Level DigitalPaint: Initializing and Freeing a Paint Handle.

    • &Painting Test
    • &Brush with ID = IDM_PAINTTEST_BRUSH
  2. Add the following function before the OnOpen function definition:

    static L_VOID OnBrush ( HWND hWnd, pPAINTHANDLE pPaint ) 
    { 
       HDC hDC ; 
       PAINTBRUSH brush ; 
       // Reset all of the brush fields 
       memset ( &brush, 0, sizeof ( brush ) ) ; 
       // Get device context to draw on 
       hDC = GetDC ( hWnd ) ; 
       // Set the required paintbrush properties 
       brush.nSize  = sizeof ( PAINTBRUSH ) ; 
       brush.dwMask = PBF_DIAMETER | 
       PBF_TOUCH | 
       PBF_SPACING ; 
       brush.nDiameter = 20 ; 
       brush.Touch.crColor = RGB ( 255, 0, 0 ) ; 
       brush.nSpacing = 25 ; 
       // Set the new paintbruch properties 
       L_PntSetProperty ( pPaint, PAINT_GROUP_BRUSH, &brush ) ; 
       // Use the current paintbruch properties to draw a paintbrush stroke to DC (hDC) 
       L_PntBrushMoveTo ( pPaint, hDC, 10, 10 ) ; 
       L_PntBrushLineTo ( pPaint, hDC, 500, 500 ) ; 
       // Release the device context 
       ReleaseDC ( hWnd, hDC ) ; 
    } 

  3. Add the following code after the statement "return 0L;" of the "case IDM_FILE_EXIT:" statement:

    case IDM_PAINTTEST_BRUSH:   
    OnBrush ( hWnd, pPaint ) ;   
    return 0L ; 

  4. Compile and run the project by selecting Build->Execute tutorial.exe from the menu.

  5. Go to the "File" menu and use the "Open" item to open an image.
  6. Go to the "Painting Test" and select the "Brush" item. This will draw a brush stroke on the given DC and on the opened bitmap.
Help Version 23.0.2024.2.29
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2024 LEAD Technologies, Inc. All Rights Reserved.

LEADTOOLS Digital Paint C API Help
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2023 LEAD Technologies, Inc. All Rights Reserved.