L_ConvertFromWMF2

#include "l_bitmap.h"

L_LTDIS_API L_INT L_ConvertFromWMF2(pBitmap, uStructSize, hWmf, uWidth, uHeight, clrBackground)

Converts a Windows metafile (WMF) into a LEAD Technologies bitmap. When this function is completed, there are two copies of the drawing in memory: the WMF and the original LEAD vector. Freeing one will not affect the other.

Parameters

pBITMAPHANDLE pBitmap

Pointer to the bitmap to be updated with the converted file.

L_UINT uStructSize

Size in bytes, of the structure pointed to by pBitmap, for versioning. Use sizeof(BITMAPHANDLE).

L_HMETAFILE hWmf

Handle to the WMF to be converted.

L_UINT uWidth

Amount by which to scale the metafiles original width.

L_UINT uHeight

Amount by which to scale the metafiles original height.

L_COLORREF clrBackground

Specifies the color used to fill the background.

Returns

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

Comments

This function does not support signed data images. It returns the error code ERROR_SIGNED_DATA_NOT_SUPPORTED if a signed data image is passed to this function.

The metafile can be loaded at the original dimension or scaled by using the uWidth and uHeight parameters.

If uWidth == 0 and uHeight == 0 - the metafile is loaded at the size present in the file

If uWidth == 0 and uHeight > 0 - the metafile is stretched so that it has the height uHeight (preserving the aspect ratio)

If uWidth > 0 and uHeight == 0 - the metafile is stretched so that it has the width uWidth (preserving the aspect ratio)

If uWidth > 0 and uHeight > 0 - the metafile is stretched so that it has the width uWidth and height uHeight (the aspect ratio is ignored)

Required DLLs and Libraries

Platforms

Win32, x64.

See Also

Functions

Example

L_INT ConvertFromWMF2Example(L_VOID) 
{ 
   L_INT nRet; 
   //BITMAPHANDLE   LeadBitmap;    /* Bitmap handle for the initial image */ //Motasem: Uncomment this line, and remove this comment 
   BITMAPHANDLE   Bitmap;    /* Bitmap handle for the initial image */ 
   HMETAFILE      hWmf; 
 
   /* Load a bitmap, keeping its own bits per pixel */ 
   nRet = L_LoadBitmap (MAKE_IMAGE_PATH(TEXT("ImageProcessingDemo\\Image3.cmp")), &Bitmap, sizeof(BITMAPHANDLE), 0, ORDER_BGR, NULL, NULL); 
   if(nRet != SUCCESS) 
      return nRet; 
 
   /* Convert the initial bitmap to a WMF */ 
   hWmf  = L_ConvertToWMF( &Bitmap ); 
 
   nRet = L_SaveBitmap(MAKE_IMAGE_PATH(TEXT("Result.BMP")), &Bitmap, FILE_BMP, 24, 0, NULL); 
   if(nRet != SUCCESS) 
      return nRet; 
 
   /* Free the initial bitmap */ 
   if(Bitmap.Flags.Allocated)   
      L_FreeBitmap(&Bitmap); 
 
   //nRet = L_ConvertFromWMF2(&LeadBitmap, sizeof(BITMAPHANDLE), hWmf, 0, 0, (20,30,15));//Motasem: unresolved external symbol _L_ConvertFromEMF2@24 
   if(nRet != SUCCESS) 
      return nRet; 
 
   /* Clean up */ 
   DeleteMetaFile(hWmf); 
   return SUCCESS; 
} 
Help Version 20.0.2020.4.3
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2020 LEAD Technologies, Inc. All Rights Reserved.

LEADTOOLS Raster Imaging C API Help