←Select platform

ChangeFromWmf(IntPtr,int,int) Method

Summary
Changes a Windows Metafile (WMF) into a LEADTOOLS Leadtools.RasterImage object and, if successful, frees the Metafile.
Syntax
C#
VB
C++
public static RasterImage ChangeFromWmf( 
   IntPtr hwmf, 
   int width, 
   int height 
) 
Public Overloads Shared Function ChangeFromWmf( _ 
   ByVal hwmf As IntPtr, _ 
   ByVal width As Integer, _ 
   ByVal height As Integer _ 
) As RasterImage 
public: 
static RasterImage^ ChangeFromWmf(  
   IntPtr hwmf, 
   int width, 
   int height 
)  

Parameters

hwmf
Handle to the WMF to be changed.

width
Amount by which to scale the metafiles original width.

height
Amount by which to scale the metafiles original height.

Return Value

The newly create 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, use ChangeFromWmf(hemf, width, height, backColor).

If this method is successful, hwmf is freed.

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

This example loads a Leadtools.RasterImage, converts it to a WMF, then converts the WMF back to a Leadtools.RasterImage.

C#
VB
using Leadtools; 
using Leadtools.Codecs; 
using Leadtools.Drawing; 
using Leadtools.ImageProcessing; 
using Leadtools.ImageProcessing.Color; 
 
 
public void ChangeFromWmfExample() 
{ 
   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)) 
   { 
      // Change to WMF 
      hwmf = RasterImageConverter.ChangeToWmf(image); 
   } 
 
   // Convert the WMF back to a RasterImage preserving the size 
   using (RasterImage image = RasterImageConverter.ChangeFromWmf(hwmf, 0, 0)) 
   { 
      // Save it to disk 
      codecs.Save(image, Path.Combine(LEAD_VARS.ImagesDir, "Image1_ChangeFromWmf.bmp"), RasterImageFormat.Bmp, 24); 
   } 
 
   // Clean up 
   codecs.Dispose(); 
} 
 
static class LEAD_VARS 
{ 
   public const string ImagesDir = @"C:\LEADTOOLS21\Resources\Images"; 
} 
Imports Leadtools 
Imports Leadtools.Codecs 
Imports Leadtools.Drawing 
Imports Leadtools.ImageProcessing 
Imports Leadtools.ImageProcessing.Color 
 
Public Sub ChangeFromWmfExample() 
   Dim codecs As New RasterCodecs() 
 
   Dim hwmf As IntPtr 
 
   ' Load an image 
   Using image As RasterImage = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "Image1.cmp"), 24, CodecsLoadByteOrder.BgrOrGray, 1, 1) 
      ' Change to WMF 
      hwmf = RasterImageConverter.ChangeToWmf(image) 
   End Using 
 
   ' Convert the WMF back to a RasterImage preserving the size 
   Using image As RasterImage = RasterImageConverter.ChangeFromWmf(hwmf, 0, 0) 
      ' Save it to disk 
      codecs.Save(image, Path.Combine(LEAD_VARS.ImagesDir, "Image1_ChangeFromWmf.bmp"), RasterImageFormat.Bmp, 24) 
   End Using 
 
   ' Clean up 
   codecs.Dispose() 
End Sub 
 
Public NotInheritable Class LEAD_VARS 
   Public Const ImagesDir As String = "C:\LEADTOOLS21\Resources\Images" 
End Class 
Requirements

Target Platforms

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

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