0

我正在尝试用多个后记数字创建动画,但生成的动画非常小。当我检查图形的属性时,我发现纸张尺寸很小。如果我手动增加大小(例如使用 GIMP),动画看起来不错。问题是我有很多文件,我想自动执行此操作。或者在渲染动画时修复。

动画是使用 python 中的 imageio (1) 或直接在终端中转换 (2) 完成的。两者都给出了相似的结果。

(1)

import imageio
images = []
for frame in frames:                                                
    f = 'Animate/morph'+str(frame)+'.ps'
    images.append(imageio.imread(f))

imageio.mimsave('animation.gif', images,  duration = 0.5)

(2,例如)

convert Animate/morph264.ps -gravity center -resize 792x612\! test.ps

我还尝试了以下重新调整 ps 大小的 ghostscript 但实际图像仍然很小(位于左下角)

gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -dSAFER -dCompatibilityLevel="1.5" -dPDFSETTINGS="/printer" -dColorConversionStrategy=/LeaveColorUnchanged -dSubsetFonts=true -dEmbedAllFonts=true -dDEVICEWIDTHPOINTS=500 -dDEVICEHEIGHTPOINTS=500 -dAutoRotatePages= '/PageByPage' -dFIXEDMEDIA -dPDFFitPage -sOutputFile='test.ps' -f 'Animate/morph264.ps'

有没有办法做到这一点而不会发疯......?

4

2 回答 2

1

为将来参考转换能够做到这一点。关键是在输入文件之前指定密度。在终端中写入,例如:

convert -density <high value> <infile(s)> -scale '300%' <outfile.ps/png/etc>

我使用 600 作为高值并将大小缩放 300%。这给出了outfile-#.ps/png/etc形式的输出文件,然后我将其转换为动画:

convert -delay 20 -loop 0 <outfile-*> animation.gif
于 2018-02-25T21:54:32.673 回答
0

如果没有看到您的 PostScript 程序,我无法确定,但我的猜测是它根本没有请求媒体大小,或者可能是 EPS 注释所指示的大小的 EPS。

您不需要大部分 Ghostscript 命令行,而且我个人会立即删除 PDFSETTINGS=/printer,这会做很多事情,而您可能并不想要全部。当然,这会生成 PDF 文件,而不是 PostScript。

要更改渲染 PostScript 程序的大小(以像素为单位),您可以提高分辨率,或使用 PostScript 缩放运算符更改比例。不过,我不能给你任何真正的帮助,因为对我来说,你如何使用 PostScript 程序并不明显。如果您使用 Ghostscript 来渲染它们,那么我需要查看您为此使用的命令行以及一个实际的 PostScript 程序示例。

于 2018-02-23T19:18:57.383 回答