ЭДС с принудительным сглаживанием
-
07-07-2019 - |
Вопрос
Наша программа должна генерировать векторную графику, и мы выбрали EMF для этого. Однако, похоже, что другие программы делают эти изображения не сглаженными. Я обнаружил, что у формата SVG есть флаг, указывающий, что некоторые / все объекты должны быть сглажены.
Есть ли какой-либо флаг или команда в формате EMF, чтобы указать, что мы хотим иметь сглаживание? Если да, то как сгенерировать эту команду, используя System.Drawing .Imaging.Metafile class?
Спасибо.
Решение
EMF-файл - это список команд GDI. Таким образом, он не будет сглаживаться, даже если в GDI + вы помещаете вызов SmoothingMode () перед рисованием. Вам нужно будет перечислить команды GDI, а затем перевести их в команды GDI +. Р>
В Vista / Seven вы можете использовать функцию GDI + 1.1 с именем GdipConvertToEmfPlus / ConvertToEmfPlus. Если вы хотите, чтобы ваша программа работала с XP, вы должны написать собственное перечисление, а затем преобразовать его в команды GDI +. мы сделали это в Delphi , возможно, вам поможет исходный код. р>