L_CompressRow

#include "l_bitmap.h"

L_LTKRN_API L_INT L_CompressRow(pRunBuffer, pBuffer, nCol, nWidth)

L_UINT16* pRunBuffer;

/* pointer to the output buffer */

L_UCHAR* pBuffer;

/* pointer to the input buffer */

L_INT nCol;

/* column offset within the row to process */

L_INT nWidth;

/* number of pixels to process */

Does buffer-to-buffer RLE compression of 1-bit image data. Use this function to process all or part of a single line of image data.

This function is available in the Document and Medical Imaging toolkits.

Parameter

Description

pRunBuffer

Pointer to the output buffer, which will be filled with 1-bit compressed image data. Calculate the required size of this buffer as follows: bytes required = (nWidth + 3) * 2.

pBuffer

Pointer to the input buffer, which contains the 1-bit image data to be compressed. Use integer math to calculate the required size of this buffer as follows: bytes required = (nCol + nWidth + 7) / 8.

nCol

Column offset within the row to be processed. The function skips this many pixels before it begins processing.

nWidth

The number of pixels to process.

Returns

> 0

The number of pixels processed.

< 1

An error occurred. Refer to Return Codes.

Comments

The output buffer must be larger than the input buffer to accommodate the worst possible case with run-length encoding, where there are alternating black and white pixels. In most cases, however, the actual compressed data will be much smaller than the input data.

This function is useful for working with 1-bit images that are loaded in their compressed formats for faster loading and display. For more information, refer to Speeding Up 1-Bit Documents.

Required DLLs and Libraries

LTKRN

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

Platforms

Windows 2000 / XP/Vista, Windows CE.

See Also

Functions:

L_ExpandRow, L_CompressRows, L_ExpandRows,

 

L_GetBitmapRowColCompressed,

 

L_PutBitmapRowColCompressed,

 

L_GetBitmapRowCompressed,

 

L_PutBitmapRowCompressed

Topics:

Speeding Up 1-Bit Documents

Example

For an example, refer to L_PutBitmapRowColCompressed.