4

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

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

谢谢你。

4

1 回答 1

11

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

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

于 2010-12-06T07:27:09.000 回答