メタファイルにテキストを追加したい。
私が使用するコード:
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 ファイルよりも太字になっています。また、新しいメタファイルのサイズは、元のメタファイルの少なくとも 2 倍になります。私は何を間違っていますか?
編集: 元の emf ファイル ( 1.emf ) は emf スプール ファイルから作成され、テキストはExtTextOutW
andExtTextOutA
レコード内にあります。