具有强制抗锯齿功能的EMF

lio*_*ori 4 .net vector-graphics antialiasing .emf

我们的程序需要生成矢量图形,我们为此选择了EMF.但是,似乎其他程序使这些图像无法抗锯齿.我发现SVG格式确实有一个标志来指示某些/所有对象应该被抗锯齿.

EMF格式中是否有任何类型的标志或命令表示我们想要抗锯齿?如果是这样,如何使用System.Drawing.Imaging.Metafile类生成该命令?

谢谢.

Arn*_*hez 11

EMF文件是GDI命令的列表.所以它不会被反对,即使在GDI +下,你在绘图之前调用了SmoothingMode().您必须枚举GDI命令,然后将其转换为GDI +命令.

在Vista/Seven下,您可以使用名为GdipConvertToEmfPlus/ConvertToEmfPlus的GDI + 1.1函数.如果您希望程序与XP一起使用,则应编写自己的枚举,然后转换为GDI +命令.我们在Delphi中完成了这个,也许源代码可能对你有帮助.

  • @MisterDownVoter请给出你的-1的一些解释!即使将SmoothingMode设置为AntiAlias,EMF文件也不会被反规范.您需要先将其转换为EMF +格式.上面的Josh回答是不正确的,我的.我只在这里写了,因为之前的答案没有用,我花了很多时间找到解决方案. (2认同)