我想向元文件添加一些文本。
我使用的代码:
Metafile m = new Metafile("1.emf");
Graphics grfxVideo = CreateGraphics();
IntPtr ipHdc = grfxVideo.GetHdc();
Metafile mf = new Metafile("2.emf", ipHdc);
grfxVideo.ReleaseHdc(ipHdc);
grfxVideo.Dispose();
Graphics grfxMetafile = Graphics.FromImage(mf);
grfxMetafile.DrawImage(m, 0, 0);
grfxMetafile.DrawString("test",SystemFonts.DefaultFont,SystemBrushes.Desktop,new PointF(0,0));
grfxMetafile.Dispose();
mf.Dispose();
m.Dispose();
新元文件 ( 2.emf ) 中的字母比原始 emf 文件更粗体。此外,新元文件的大小至少是原始文件的两倍。我究竟做错了什么?
编辑:原始 emf 文件 ( 1.emf ) 是从 emf 假脱机文件创建的,文本位于ExtTextOutW
andExtTextOutA
记录中。