L_CompressRows

Summary

Does buffer-to-buffer RLE compression of 1-bit image data. Use this function to process multiple lines of image data.

Syntax

#include "l_bitmap.h"

L_LTKRN_API L_INT L_CompressRows(pRunBuffer, pBuffer, nWidth, nRows)

Parameters

L_UINT16* 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) * nRows.

L_UCHAR* pBuffer

Pointer to the input buffer, which contains the 1-bit image data to be compressed. The size of each row must be rounded up to a multiple of 4 bytes. Use integer math to calculate the required size of this buffer as follows: bytes required = (((nWidth + 31) &~31)/ 8) * nRows.

L_UINT nWidth

The number of pixels in each row.

L_UINT nRows

The number of rows to process.

Returns

Value Meaning
> 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

Platforms

Win32, x64, Linux.

See Also

Functions

Topics

Example

For an example, refer to L_GetBitmapRowCompressed.

Help Version 22.0.2023.7.11
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2023 LEAD Technologies, Inc. All Rights Reserved.

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