'Declaration Public Overloads Shared Function ChangeFromWmf( _ ByVal hwmf As IntPtr, _ ByVal width As Integer, _ ByVal height As Integer _ ) As RasterImage
'Usage Dim hwmf As IntPtr Dim width As Integer Dim height As Integer Dim value As RasterImage value = RasterImageConverter.ChangeFromWmf(hwmf, width, height)
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+.
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
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"; }
Target Platforms: Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2