Products | Support | Email a link to this topic. | Send comments on this topic. | Back to Introduction - All Topics | Help Version 19.0.6.28
|
Leadtools Namespace > RasterImage Class > SetRowColumn Method : SetRowColumn(Int32,Int32,IBuffer,Int32,Int32) Method |
The number of bytes to update. Consider the bits per pixel, and avoid specifying a number that goes past the end of the row.
For a 1-bit image, each byte represents 8 pixels. For a 4-bit image, each byte represents 2 pixels. For an 8-bit image, each byte represents 1 pixel. For a 16-bit image, every 2 bytes represents one pixel. For 24-bit images, every three bytes represents one pixel. For a 32-bit image, every four bytes represents one pixel. For a 48-bit image, every six bytes represents one pixel. For a 64-bit image, every eight bytes represents one pixel.
public int SetRowColumn( int row, int column, IBuffer buffer, int bufferIndex, int bufferCount )
'Declaration
Public Overloads Function SetRowColumn( _ ByVal row As Integer, _ ByVal column As Integer, _ ByVal buffer As IBuffer, _ ByVal bufferIndex As Integer, _ ByVal bufferCount As Integer _ ) As Integer
'Usage
Dim instance As RasterImage Dim row As Integer Dim column As Integer Dim buffer As IBuffer Dim bufferIndex As Integer Dim bufferCount As Integer Dim value As Integer value = instance.SetRowColumn(row, column, buffer, bufferIndex, bufferCount)
public int SetRowColumn( int row, int column, IBuffer buffer, int bufferIndex, int bufferCount )
function Leadtools.RasterImage.SetRowColumn(Int32,Int32,IBuffer,Int32,Int32)( row , column , buffer , bufferIndex , bufferCount )
public: int SetRowColumn( int row, int column, IBuffer^ buffer, int bufferIndex, int bufferCount )
The number of bytes to update. Consider the bits per pixel, and avoid specifying a number that goes past the end of the row.
For a 1-bit image, each byte represents 8 pixels. For a 4-bit image, each byte represents 2 pixels. For an 8-bit image, each byte represents 1 pixel. For a 16-bit image, every 2 bytes represents one pixel. For 24-bit images, every three bytes represents one pixel. For a 32-bit image, every four bytes represents one pixel. For a 48-bit image, every six bytes represents one pixel. For a 64-bit image, every eight bytes represents one pixel.
By using this low-level method to update any part of a row, you can write a procedure that updates a single pixel or a rectangular area within the image.
This method accepts an offset parameter (column) in pixels and a length (bufferCount) in bytes. Therefore, you must consider the bits per pixel of the image when specifying these parameters. The following table describes the rules:
Bits Per Pixel | Column Offset (in Pixels) | Bytes to Get |
---|---|---|
1 | Must be a multiple of 8 (such as 0, 8, or 16). | Can be any number up to 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). | Can be any number up to the end of the row. Consider that there are 2 pixels per byte. |
8 | Can be any column within the image. | Can be any number up to the end of the row. Consider that there is 1 pixel per byte. |
16 | Can be any column within the image. | Must be a multiple of 2 (such as 2, 4, or 6), because there are 2 bytes per pixel. |
24 | Can be any column within the image. | Must be a multiple of 3 (such as 3, 6, or 9), because there are 3 bytes per pixel. |
32 | Can be any column within the image. | Must be a multiple of 4 (such as 4, 8, or 12), because there are 4 bytes per pixel. |
The image memory must be locked when you use this method. Normally, you can call Access to lock the memory before starting an operation that uses this method. Then call Release when the operation is finished.
Color order is determined by the Order property of the RasterImage object. This value can be RasterByteOrder.Rgb, RasterByteOrder.Bgr, or RasterByteOrder.Romm.
Note: To calculate the correct size for a single row of image data: WinRT (((Width * BitsPerPixel) + 31) >> 3)) ~3
RasterByteOrder.Gray is only valid for 12 and 16-bit grayscale images. Support for 12 and 16-bit grayscale images is only available in the Document/Medical Imaging editions.
For more information, refer to Introduction to Image Processing With LEADTOOLS.