我需要以编程方式运行一些 unix 命令并获取图像文件中的输出,格式可以是png
或jpeg
( jpg
)。
这些命令在 AIX (IBM *nix) 计算机中运行。我没有安装新软件包的权限,但是我认为有一种方法可以使用管道和操作系统中默认软件包的重定向来完成此操作。
不幸的是我找不到方法来做到这一点。
答案1
对于输出很少且行数较短的命令,您可以使用 a2ps、ghostscript 和 imagemagick 的组合轻松做到这一点:
这里以命令的输出结果ls
为例。
ls |
a2ps -=book -B -q --medium=A4dj --borders=no -o out1.ps &&
gs \
-sDEVICE=png256 \
-dNOPAUSE -dBATCH -dSAFER \
-dTextAlphaBits=4 -q \
-r300x300 \
-sOutputFile=out2.png out1.ps
convert -trim out2.png result.png
a2ps
创建文本的矢量图像。 Ghostscript 将其光栅化为 PNG 图形(不要使用 JPEG,这是错误的图形格式,它仅对照片级真实感图像有用)。最后使用imagemagick去除周围的空白。阅读手册页并根据需要调整参数。
如果未安装程序,您可以以--prefix=/home/me/.local
用户身份编译并安装它们没有管理员权限。
编辑:正如评论中提到的,不依赖于a2ps
Ghostscript 的解决方案如下。
convert label:"$(ls)" result.png
答案2
您使用在线网站将终端输出转换为图像。
这两个网站都是免费且易于使用的。您复制终端输出并粘贴网站编辑器部分之一。点击导出后,您的代码成功转换为漂亮的图像。
看起来像