Copies data from a buffer into a class objects bitmap, with an offset to the bitmap. The data is copied exactly as it is stored in the buffer. The buffer contains uncompressed data.
#include "ltwrappr.h"
virtual L_SSIZE_T LBitmapBase::PutRowCol (LBuff, nRow, nCol)
An LBuffer object that contains the image data.
The number of the row to update. The first row is 0, and the last row is 1 less than the bitmap height.
The column offset within the row to update. The first column offset is 0, and the last column offset is 1 less than the bitmap width.
Value | Meaning |
---|---|
>=1 | The number of bytes put. |
< 1 | An error occurred. Refer to Return Codes. |
Copies data from a buffer to the class object's bitmap, with an offset to the bitmap. The buffer to which contains uncompressed data.
By using this low-level function to update any part of a row, you can write a procedure that updates a single pixel or a rectangular area within the bitmap.
You must consider the bits per pixel of the bitmap when specifying the parameters. The following table describes the rules:
Bits Per Pixel | Column Offset (in Pixels) | Bytes to Update |
---|---|---|
1 | Must be a multiple of 8 (such as 0, 8, or 16). | Should not go past the end of the row. Consider that there are 8 pixels per byte. |
4 | Must be an even number (such as 0, 2, or 4). | Should not go past the end of the row. Consider that there are 2 pixels per byte. |
8 | Can be any column within the bitmap. | Should not go past the end of the row. Consider that there is 1 pixel per byte. |
16 | Can be any column within the bitmap. | Must be a multiple of 2 (such as 2, 4, or 6), because there are 2 bytes per pixel. Also, it should not go past the end of the row. |
24 | Can be any column within the bitmap. | Must be a multiple of 3 (such as 3, 6, or 9), because there are 3 bytes per pixel. Also, it should not go past the end of the row. |
32 | Can be any column within the bitmap. | Must be a multiple of 4 (such as 4, 8, or 12), because there are 4 bytes per pixel. Also, it should not go past the end of the row.To speed up the operation then lock the bitmap memory when you use this function a lot. Normally, you can call LBitmapBase::Access to lock the memory before starting an operation that uses this function, then call LBitmapBase::Release when the operation is finished. |
Color order of the target bitmap is determined by the Order field in the bitmap handle. This value can be ORDER_RGB, ORDER_BGR, ORDER_GRAY or ORDER_ROMM
NOTE: To calculate the correct size for a single row of image data:
(((Width * BitsPerPixel) + 31) >> 3)) &~3
Win32, x64.
For an example, refer to LBitmapBase::GetRowCol.
Help Collections
Raster .NET | C API | C++ Class Library | HTML5 JavaScript
Document .NET | C API | C++ Class Library | HTML5 JavaScript
Medical .NET | C API | C++ Class Library | HTML5 JavaScript
Medical Web Viewer .NET
Multimedia
Direct Show .NET | C API | Filters
Media Foundation .NET | C API | Transforms
Supported Platforms
.NET, Java, Android, and iOS/macOS Assemblies
Imaging, Medical, and Document
C API/C++ Class Libraries
Imaging, Medical, and Document
HTML5 JavaScript Libraries
Imaging, Medical, and Document