L_ConvertFromWMF2

Summary

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.

Syntax

#include "l_bitmap.h"

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

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 */ 
   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("Image2.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("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)); 
   if (nRet != SUCCESS) 
      return nRet; 
 
   /* Clean up */ 
   DeleteMetaFile(hWmf); 
 
   return SUCCESS; 
} 
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.