←Select platform

FromWmf(IntPtr,int,int,RasterColor) Method

Summary
Converts a Windows Metafile (WMF) into a LEADTOOLS Leadtools.RasterImage object.
Syntax
C#
C++/CLI
Python
public static RasterImage FromWmf( 
   IntPtr hwmf, 
   int width, 
   int height, 
   RasterColor backColor 
) 
public: 
static RasterImage^ FromWmf(  
   IntPtr hwmf, 
   int width, 
   int height, 
   RasterColor backColor 
)  
def FromWmf(self,hwmf,width,height,backColor): 

Parameters

hwmf
Handle to the WMF to be converted.

width
Amount by which to scale the metafile's original width.

height
Amount by which to scale the metafile's original height.

backColor
The color to use to fill the image area before painting the metafile objects.

Return Value

The newly created Leadtools.RasterImage object.

Remarks

Some metafiles do not have a background color, and hence, when the metafile is used to create a Leadtools.RasterImage object, the area not covered by the metafile objects will contain the default image background color (black). To create a raster image from a metafile like this with a specific background color, set the desired background color in the  backColor parameter.

When this method is completed, there are two copies of the drawing in memory: the new Leadtools.RasterImage object and the original WMF. Freeing one will not affect the other.

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

If  width == 0 and  height == 0 - the metafile is loaded at the size present in the file.

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

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

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

This method does not support signed images.

For more information refer to RasterImage and GDI/GDI+.

Example
C#
using Leadtools; 
using Leadtools.Codecs; 
using Leadtools.Drawing; 
using Leadtools.ImageProcessing; 
using Leadtools.ImageProcessing.Color; 
 
 
[DllImport("Gdi32", CharSet = CharSet.Auto)] 
private static extern int DeleteMetaFile(IntPtr hwmf); 
 
public void FromWmfExample() 
{ 
   RasterCodecs codecs = new RasterCodecs(); 
 
   IntPtr hwmf; 
 
   // Load an image 
   using (RasterImage image = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "Image1.cmp"), 24, CodecsLoadByteOrder.BgrOrGray, 1, 1)) 
   { 
      // Convert it to WMF 
      hwmf = RasterImageConverter.ToWmf(image); 
 
      // Note, since we converted to an WMF we have two copies of the image in memory and "image" is still usable 
   } 
 
   // Convert the WMF back to a RasterImage preserving the size 
   using (RasterImage image = RasterImageConverter.FromWmf(hwmf, 0, 0)) 
   { 
      // Not since we converted from the WMF, we need to delete it ourselves 
      DeleteMetaFile(hwmf); 
 
      // Save it to disk 
      codecs.Save(image, Path.Combine(LEAD_VARS.ImagesDir, "Image1_FromWmf.bmp"), RasterImageFormat.Bmp, 24); 
 
   } 
 
   // Clean up 
   codecs.Dispose(); 
} 
 
static class LEAD_VARS 
{ 
   public const string ImagesDir = @"C:\LEADTOOLS23\Resources\Images"; 
} 
Requirements

Target Platforms

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

Leadtools.Drawing Assembly
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2023 LEAD Technologies, Inc. All Rights Reserved.