LColor::ConvertDirectToBitmap

#include "ltwrappr.h"

static L_INT LColor::ConvertDirectToBitmap(nSrcFormat, nDstFormat, pSrcBuf, pBitmap, uStructSize, nWidth, nHeight, nInAlign, nOutAlign)

L_INT nSrcFormat;

format of the input data

L_INT nDstFormat;

format of the output data

L_UCHAR * pSrcBuf;

pointer to the input buffer

LBitmapBase * pBitmap;

pointer to LBitmapBase class object

L_UINT uStructSize;

size in bytes, of pBitmap

L_INT nWidth;

width of pixels to be processed

L_INT nHeight;

height of pixels to be processed

L_INT nInAlign;

each scanline in the input buffer is a multiple of nInAlign bytes

L_INT nOutAlign;

each scanline in the output buffer is a multiple of nOutAlign bytes

Converts image data in a buffer from one color conversion model to RGB\BGR directly using built in algorithms, and sets the converted data in a LBitmapBase class object.

Parameter Description
nSrcFormat Format of the source data. Possible values are:
  Value Meaning
  CCS_RGB [0x00] Color conversion is RGB.
  CCS_YUV [0x01] Color conversion is YUV.
  CCS_CMYK [0x02] Color conversion is CMYK.
  CCS_HSV [0x03] Color conversion is HSV.
  CCS_HLS [0x04] Color conversion is HLS.
  CCS_YIQ [0x05] Color conversion is YIQ.
  CCS_CMY [0x06] Color conversion is CMY.
  CCS_LAB [0x07] Color conversion is CIELAB.
  CCS_XYZ [0x08] Color conversion is CIEXYZ.
  CCS_YCCK [0x0B] Color conversion is YCCK.
  CCS_BGR [0x0C] Color conversion is BGR.
  CCS_UYVY [0x0E] Color conversion is UYVY.
  CCS_YUY2 [0x09] Color conversion is YUY2.
  CCS_YVU9 [0x0A] Color conversion is YVU9.
  CCS_YCC [0x0F] Color conversion is YCC.
  CCS_IHS [0x80] Color conversion is IHS.
  CCS_Y41P [0x0D] Color conversion is Y41P.
  CCS_ARGB4 [0x90] Color conversion is ARGB4.
nDstFormat Format of the output data. Possible values are:
  Value Meaning
  CCS_RGB [0x00] Color conversion is RGB.
  CCS_BGR [0x0C] Color conversion is BGR.
pSrcBuf Pointer to the buffer that references the input data.
pBitmap Pointer to LBitmapBase class object that references the converted data.
uStructSize Size in bytes, of the structure pointed to by pBitmap, for versioning. Use sizeof(BITMAPHANDLE).
nWidth Width of pixels to be processed.
nHeight Height of pixels to be processed.
nInAlign Each scanline in the input buffer is a multiple of nInAlign bytes.
nOutAlign Each scanline in the output buffer is a multiple of nOutAlign bytes.

Returns

SUCCESS

The function was successful.

< 1

An error occurred. Refer to Return Codes.

Comments

This function works only for conversion to BGR or RGB color space formats.

Required DLLs and Libraries

LTCLR

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

See Also

Functions:

LColor::Convert, Class Members

Topics:

Working with Color Conversion Functions

 

Raster Image Functions: Color Conversion

Example

#define MAKE_IMAGE_PATH(pFileName) TEXT("C:\\Users\\Public\\Documents\\LEADTOOLS Images\\")pFileName 
L_INT LColor_ConvertDirectToBitmapExample() 
{ 
   L_INT nRet; 
   LColor lClr; 
   LBitmapBase LeadBitmap;   /* Bitmap handle to hold the loaded image. */ 
   LBitmapBase OutBitmap; 
   /* Load the bitmap, keeping the bits per pixel of the file */ 
   nRet = LeadBitmap.Load(MAKE_IMAGE_PATH(TEXT("IMAGE1.CMP")), 0, ORDER_BGR); 
   if(nRet !=SUCCESS) 
      return nRet; 
   LBuffer Input(sizeof(L_UCHAR) * (LeadBitmap.GetMemSize())); 
   LeadBitmap.GetRowCol(&Input, 0, 0); 
   L_UCHAR* pInput = (L_UCHAR*)(Input.Lock());     /*input buffer*/ 
   L_INT nWidth = LeadBitmap.GetWidth();           /*pixels width*/ 
   L_INT nHeight = LeadBitmap.GetHeight();         /*pixels height*/ 
   /* direct conversion using built in options */ 
   nRet = lClr.ConvertDirectToBitmap(CCS_CMYK, CCS_RGB, pInput, &OutBitmap, sizeof(BITMAPHANDLE), nWidth, nHeight, 0, 0); 
   if(nRet !=SUCCESS) 
      return nRet; 
   nRet = OutBitmap.Save (MAKE_IMAGE_PATH(TEXT("Result.BMP")), FILE_BMP, 24, 0, NULL); 
   if(nRet !=SUCCESS) 
      return nRet; 
   //free bitmap 
   if(LeadBitmap.IsAllocated()) 
      LeadBitmap.Free(); 
   if(OutBitmap.IsAllocated()) 
      OutBitmap.Free(); 
   return SUCCESS; 
} 

Help Version 19.0.2017.10.27
Products | Support | Contact Us | Copyright Notices
© 1991-2017 LEAD Technologies, Inc. All Rights Reserved.
LEADTOOLS Color Conversion C++ Class Library Help