Вопрос

Наша программа должна генерировать векторную графику, и мы выбрали EMF для этого. Однако, похоже, что другие программы делают эти изображения не сглаженными. Я обнаружил, что у формата SVG есть флаг, указывающий, что некоторые / все объекты должны быть сглажены.

Есть ли какой-либо флаг или команда в формате EMF, чтобы указать, что мы хотим иметь сглаживание? Если да, то как сгенерировать эту команду, используя System.Drawing .Imaging.Metafile class?

Спасибо.

Это было полезно?

Решение

EMF-файл - это список команд GDI. Таким образом, он не будет сглаживаться, даже если в GDI + вы помещаете вызов SmoothingMode () перед рисованием. Вам нужно будет перечислить команды GDI, а затем перевести их в команды GDI +.

В Vista / Seven вы можете использовать функцию GDI + 1.1 с именем GdipConvertToEmfPlus / ConvertToEmfPlus. Если вы хотите, чтобы ваша программа работала с XP, вы должны написать собственное перечисление, а затем преобразовать его в команды GDI +. мы сделали это в Delphi , возможно, вам поможет исходный код.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top