2017-06-16 113 views
0

最近,我想运行一个终端命令,如“git show <hash>”,并将输出保存为图像,最好是PNG。将STDOUT管道映像?

我对它进行了一些搜索,发现了一些整洁的技巧,特别是导入命令,但没有捕获STDOUT并将其保存为图像的东西。

所以,我想我会问在这里的大脑信任。任何人都有经过测试和验证的Linux解决方案?

+4

你是什么意思的“保存为图像”?该文件是否包含图像信息,或者您是否在寻找将文本转换为文本图像的东西? – Barmar

+1

如果您正在寻找一种自动执行此操作的工具,这不是一个编程问题。尝试unix.SE或SuperUser.com。 – Barmar

+0

我的意思是采用git显示a-hash将生成的文本输出并将其保存为图像,忠实地再现所有它的血色和细节。 – rjh427

回答

1

如果您只想将git show的输出保存到文件中,请执行此操作。

git show <hash>:path/to/image.png > /some/other/path/image.png 

如果你想看到的图像,ImageMagick的display命令允许管道从标准输入。所以,你可以做

git show <hash>:path/to/image.png | display 
+0

我试过了,它会引发一个致命错误:Path'image.png'不存在 我正在运行Ubuntu 14.04,或许这可以在另一个发行版上运行? – rjh427

+0

@ user3123081你应该在你的git仓库中提供一个图像文件的实际路径。 – Barmar

+0

我觉得贾斯汀不明白'git show '是做什么的。它显示关于提交的信息,而不是文件的内容。 – Barmar

1

不知道什么混帐输出,但你应该能够适应这使该文本的PNG图像:

echo "git result" | convert -fill red -background yellow label:@- a.png 

enter image description here


实现相同结果的另一种方法是这样的:

convert -fill red -background yellow label:"$(git show hash)" a.png 

convert(或V7起magick)是安装在大多数Linux版本和可用于MacOS和Windows ImageMagick的套件的一部分。

+0

这会生成一个18x15像素的图像,其背景为黄色,包含文本“@ - ”和文件名a.png,不知道“git show ”数据去了哪里。 – rjh427

+0

请尝试应用此问题的答案https://stackoverflow.com/q/37957972/2836621 –

相关问题