←Select platform

ToEmf Method

Summary
Converts a LEADTOOLS Leadtools.RasterImage object into a Windows Enhanced Metafile (EMF).
Syntax
C#
C++/CLI
Python
public static IntPtr ToEmf( 
   RasterImage image 
) 
public: 
static IntPtr ToEmf(  
   RasterImage^ image 
)  
def ToEmf(self,image): 

Parameters

image
The source image.

Return Value

A handle to the Windows enhanced metafile (EMF) this method creates.

Remarks

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

This method allocates an enhanced metafile bitmap and copies the Leadtools.RasterImage data to the enhanced Metafile.

When you no longer need the enhanced metafile, you can free it using the Windows DeleteEnhMetaFile function.

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 DeleteEnhMetaFile(IntPtr hemf); 
 
public void FromEmfExample() 
{ 
   RasterCodecs codecs = new RasterCodecs(); 
 
   IntPtr hemf; 
 
   // Load an image 
   using (RasterImage image = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "Image1.cmp"), 24, CodecsLoadByteOrder.BgrOrGray, 1, 1)) 
   { 
      // Convert it to EMF 
      hemf = RasterImageConverter.ToEmf(image); 
 
      // Note, since we converted to an EMF we have two copies of the image in memory and "image" is still usable 
   } 
 
   // Convert the EMF back to a RasterImage preserving the size 
   using (RasterImage image = RasterImageConverter.FromEmf(hemf, 0, 0)) 
   { 
      // Not since we converted from the EMF, we need to delete it ourselves 
      DeleteEnhMetaFile(hemf); 
 
      // Save it to disk 
      codecs.Save(image, Path.Combine(LEAD_VARS.ImagesDir, "Image1_FromEmf.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.