增加动画后记的纸张大小

increase paper size of postscript for animation

我正在尝试用多个后记图形创建动画,但生成的动画非常小。当我检查图形的属性时,我发现纸张尺寸很小。如果我手动增加大小(例如使用 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'

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

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

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

要改变呈现的 PostScript 程序的大小(以像素为单位),您可以增加分辨率,或使用 PostScript 比例运算符改变比例。不过我不能给你任何真正的帮助,因为我不清楚你是如何使用 PostScript 程序的。如果您使用 Ghostscript 来渲染它们,那么我需要查看您为此使用的命令行和一个实际的 PostScript 程序示例。

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

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