#include "ltwrappr.h"

virtual L_INT LPaint::PaintDCBuffer(LBuff, nRow, nCount=1, uROP3=SRCCOPY)

LBuffer& LBuff;

an LBuffer object that contains the data to paint

L_INT nRow;

first row to paint

L_INT nCount;

number of rows to paint


windows ROP code for display

Paints image data into a device context from a buffer.




A LEAD buffer of type LBuffer that contains the image data to paint.


The first row to paint. The painted portion of any row may be limited by the bitmap object rectangles.


The number of rows to paint. The painted portion of any row may be limited by the bitmap object rectangles.. If the image data in LBuff is compressed 1-bit data, you can specify the number of lines as a negative value (-nLines), as explained in Speeding Up 1-Bit Documents.


The Windows ROP code that determines how the destination rectangle is updated. This parameter takes the same codes as the Windows BitBlt() function. For ordinary painting, use SRCCOPY.



The function was successful.

< 1

An error occurred. Refer to Return Codes.


This function references a LEAD bitmap object, which may or may not have a loaded bitmap. In either case, the following fields must be specified in the LEAD bitmap object:

The Width, Height, BitsPerPixel, Order, and ViewPerspective fields must all be set to the correct values for the image. (You can use the LBitmapBase::Initialize function to set the values.)

The Palette for the bitmap object must be a valid palette (an array of RGBQUAD values). You can create or update the palette using the LBitmapBase::PutColors() function.

Except for the buffer specifications, this function uses source and destination rectangles the same as LPaint::PaintDC. For a complete explanation, refer to LPaint::PaintDC.

You can call [LPaint:PaintDCBuffer from a callback function to paint an image while a bitmap is being loaded. This technique is used through the LFile load callback functions.

The LBuff parameter is passed by reference, and is a required parameter.

Required DLLs and Libraries


For a listing of the exact DLLs and Libraries needed, based on the toolkit version, refer to Files To Be Included With Your Application.


Win32, x64.

See Also


Class Members, LBitmapBase::RectToBitmap, LBitmapBase::RectFromBitmap


Raster Image Functions: Displaying Images


Raster Image Functions: Palettes


Handling Palette Changes


L_INT LPaint__PaintDCBufferExample(LBitmapBase& LeadBitmap,HDC hDC) 
   L_INT nRet; 
   LPaint   LeadPaint(&LeadBitmap,hDC); 
   L_INT    i,nBytesPerLine; 
   L_SIZE_T zRet; 
   nBytesPerLine = LeadBitmap.GetBytesPerLine() ; 
   LBuffer  LeadBuffer((DWORD)nBytesPerLine) ; 
   for( i = 0 ; i < LeadBitmap.GetHeight() ; i++) 
      zRet = LeadBitmap.GetRow(&LeadBuffer,i) ; 
      if(zRet < 1) 
         return FAILURE; 
      nRet = LeadPaint.PaintDCBuffer(LeadBuffer,i) ; 
      if(nRet != SUCCESS) 
         return nRet; 
   return SUCCESS; 
Help Version 20.0.2019.3.12
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2019 LEAD Technologies, Inc. All Rights Reserved.

LEADTOOLS Raster Imaging C++ Class Library Help