Я хочу добавить текст в метафайл.
Используемый мной код:
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 ) выделены жирным шрифтомчем оригинальный файл ЭДС.Кроме того, новый метафайл как минимум вдвое больше оригинального.Что я делаю не так?
Редактировать: исходный файл эдс ( 1.emf ) создается из файла спула эдс, а текст находится внутри записей ExtTextOutW
и ExtTextOutA
.