每当我尝试使用 metapost 输出 PNG 时,我都会得到非常奇怪的输出。作为参考,我使用的是 Windows 7 和 MiKTeX 2.9。
我使用的 metapost 代码改编自后者维基百科页面上的 metafont 示例:
outputformat := "png";
outputtemplate := "%j-%c.%o";
beginfig(1);
h=100;
w=100;
y1=y2=y3=0;
y4=y5=y6=h;
x1=x4=0;
x2=x5=w;
x3=x6=2*w;
pickup pencircle xscaled 0.2w yscaled 0.04w rotated 45;
draw z1..z3..z6{z2-z6}..z5..{z4-z2}z4..cycle;
endfig;
end.
当我生成 eps 文件时,输出工作正常(代码与上面相同,只是将 'eps' 替换为 'png')。以下是 eps 输出的屏幕截图:
然而,当我尝试生成 PNG 时,我得到的结果如下:
我不知道发生了什么,而且我找不到有关这个特定问题的任何参考资料。
答案1
好吧,这似乎是 Metapost 的一个错误。我想到的解决方案是简单地编写一个 shell 脚本,该脚本获取 EPS 输出并使用 ghostscript 将其转换为 PNG