La pregunta era: "¿Hay alguna otra forma de guardar la imagen en un EMF/WMF?" No "qué es un metarchivo" o "cómo crear un metarchivo" o "cómo usar un metarchivo con gráficos".
Yo también busco respuesta a esta pregunta "cómo ahorrar EMF/WMF" De hecho si se utilizan:
Graphics grfx = CreateGraphics();
MemoryStream ms = new MemoryStream();
IntPtr ipHdc = grfx.GetHdc();
Metafile mf = new Metafile(ms, ipHdc);
grfx.ReleaseHdc(ipHdc);
grfx.Dispose();
grfx = Graphics.FromImage(mf);
grfx.FillEllipse(Brushes.Gray, 0, 0, 100, 100);
grfx.DrawEllipse(Pens.Black, 0, 0, 100, 100);
grfx.DrawArc(new Pen(Color.Red, 10), 20, 20, 60, 60, 30, 120);
grfx.Dispose();
mf.Save(@"C:\file.emf", ImageFormat.Emf);
mf.Save(@"C:\file.png", ImageFormat.Png);
En ambos casos la imagen se guarda como formato PNG. Y este es el problema que no puedo resolver:/
tenga en cuenta que debe utilizar 'System.Drawing.Imaging' para' Metafile' y 'System.IO' para' MemoryStream'. –