从终端转换图像格式?

从终端转换图像格式?

有没有办法从 Ubuntu 终端转换图像格式?

特别是从 eps 到 png/jpg 或任何其他格式。

答案1

对于那些试图弄清楚如何绕过 ImageMagicconvert: not authorized而不恢复对系统范围的安全策略所做的更改以关闭漏洞的人来说,以下是如何通过直接调用 Ghostscript 来栅格化 EPS 文件的方法:

gs -dSAFER -dBATCH -dNOPAUSE -dEPSCrop -r600 -sDEVICE=pngalpha -sOutputFile=foo.png myfile.eps
  • -dSAFER将 Ghostscript 置于沙盒模式,其中 Postscript 代码只能与您在命令行中指定的文件交互。(是的,EPS、PS 和 PDF 文件中定义页面内容的部分采用图灵完备的编程语言
  • -DBATCH当它到达输入文件的末尾时会退出,而不是切换到交互式 PostScript 提示。
  • -dNOPAUSE防止它在每一页之后提示继续
  • -dEPSCrop要求将渲染的输出裁剪为图形的边界框,而不是填充到声明的页面大小(参见手册了解详情。
  • 指定-r600要渲染的 DPI
  • 指定-sDEVICE输出格式(参见设备部分请参阅手册以了解其他选择。

更新:我后来了解到,这-o foo.png是一种更简洁、更容易记住的简写,-dBATCH -dNOPAUSE -sOutputFile=foo.png因此更好的命令应该是这样的:

gs -dSAFER -dEPSCrop -r600 -sDEVICE=pngalpha -o foo.png myfile.eps

手册还提到,有一天,他们最终希望能够将其-dSAFER设为默认设置,但考虑到向后兼容的需求,谁知道这是否会发生。

答案2

您可以使用imagemagick命令行工具

http://www.imagemagick.org/script/convert.php

你可以像这样使用它:

convert myfile.eps foo.png

答案3

我使用键盘上的 Prt Scr 键,然后选择要转换的区域,将 .odg 转换为 .png。快速又安全。

相关内容