LEADTOOLS GDI/GDI+ (Leadtools.Drawing assembly) Send comments on this topic. | Back to Introduction - All Topics | Help Version 17.0.3.29
ChangeFromWmf Method
See Also 



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.
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.
Changes a Windows Metafile (WMF) into a LEADTOOLS Leadtools.RasterImage object and, if successful, frees the Metafile.

Syntax

Visual Basic (Declaration) 
Public Shared Function ChangeFromWmf( _
   ByVal hwmf As IntPtr, _
   ByVal width As Integer, _
   ByVal height As Integer _
) As RasterImage
Visual Basic (Usage)Copy Code
Dim hwmf As IntPtr
Dim width As Integer
Dim height As Integer
Dim value As RasterImage
 
value = RasterImageConverter.ChangeFromWmf(hwmf, width, height)
C# 
public static RasterImage ChangeFromWmf( 
   IntPtr hwmf,
   int width,
   int height
)
C++/CLI 
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.

Example

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

Visual BasicCopy Code
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:\Users\Public\Documents\LEADTOOLS Images"
End Class
C#Copy Code
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:\Users\Public\Documents\LEADTOOLS Images";
}

Remarks

If this function 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 function does not support signed images.

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

Requirements

Target Platforms: Silverlight 3.0, Windows XP, Windows Server 2003 family, Windows Server 2008 family, Windows Vista, Windows 7, MAC OS/X (Intel Only)

See Also