LBitmapBase::ChangeCompression

#include "ltwrappr.h"

virtual L_INT LBitmapBase::ChangeCompression(nComp)

Compresses or decompresses a bitmap.

Parameters

L_INT nComp

Flag that indicates the type of compression to use on the bitmap. Possible values are:

Value Meaning
COMP_NONE [0] No compression. This option can be used to decompress compressed or super compressed bitmaps.
COMP_RLE [1] 1-bit RLE compression. This compression is very fast and Lossless. For more information, refer to Speeding Up 1-Bit Documents. This is the same as passing TYPE_COMPRESSED to LBitmapBase::Allocate.
COMP_SUPER [2] Super compression. This is available for 1-bit, 8-bit, and 24-bit bitmaps only. The 24-bit and 8-bit compression is lossy, while the 1-bit compression is lossless.

Returns

Value Meaning
SUCCESS The function was successful.
< 1 An error occurred. Refer to Return Codes.

Required DLLs and Libraries

Platforms

Win32, x64.

See Also

Functions

Topics

Example

L_INT LBitmapBase__ChangeCompressionExample(LBitmapBase & Bitmap, L_TCHAR * pszFile) 
{ 
   L_INT nRet; 
   L_TCHAR szMessage[256]; 
 
   nRet =Bitmap.Load(pszFile); 
   if(nRet !=SUCCESS) 
      return nRet; 
 
   if (Bitmap.GetBitsPerPixel() == 1 || Bitmap.GetBitsPerPixel() == 24) 
   { 
 
      wsprintf(szMessage, TEXT("BEFORE:\nImage Size: %ld bytes\nType: %s"), 
                Bitmap.GetMemSize(), 
                Bitmap.IsSuperCompressed() ?  
               TEXT("Super Compressed") : TEXT("Uncompressed")); 
 
      MessageBox(NULL, szMessage, TEXT("Changing Compression"), MB_OK); 
      nRet = Bitmap.ChangeCompression(Bitmap.IsSuperCompressed() ?  
                                       COMP_NONE : COMP_SUPER); 
      if(nRet == SUCCESS) 
         wsprintf(szMessage,  
                   TEXT("AFTER:\nImage Size: %ld bytes\nType: %s"), 
                   Bitmap.GetMemSize(), 
                   Bitmap.IsSuperCompressed() ?  
                   TEXT("Super Compressed") : TEXT("Uncompressed")); 
      else 
      { 
         wsprintf(szMessage, TEXT("Change Compressions Failed!")); 
         return nRet; 
      } 
 
      MessageBox(NULL, szMessage, TEXT("Changing Compression"), MB_OK); 
 
   } 
 
   return SUCCESS; 
} 
Help Version 21.0.2021.4.8
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2021 LEAD Technologies, Inc. All Rights Reserved.

LEADTOOLS Raster Imaging C++ Class Library Help