如何解决将图像从一种格式转换为另一种格式发送到 STDOUT
我想将图像从 .jpg
转换为 .png
。这工作得很好:
convert input.jpg output.png
但是,我试图让我的输出转到 STDOUT 而不是文件,手册说它使用 "-"
。
我尝试使用:
convert input.jpg -.png
是否可以将图像从一种格式转换为另一种格式并将其转到 STDOUT?
解决方法
是的,只需使用这样的命令即可在 stdout
上将 JPEG 转换为 PNG:
magick input.jpg PNG:-
这些说明符适用于输入和输出。因此,如果您在 stdin
上有一个 TIFF 并且想要在标准输出上使用 32 位 RGBA PNG:
magick TIFF:- PNG32:-
您经常需要这些说明符来确保没有明确给出的特定文件类型,或者您想使用不同的扩展名。因此,假设您有一些 CCD 设备在名为 image.bin
的原始二进制文件中生成 RGB 数据,并且您希望 ImageMagick 读取它。您可以告诉 ImageMagick 格式, 不必像这样更改文件名(到 image.rgb
):
magick -size WxH RGB:image.bin result.png
可能的格式记录在 here 中。
所有这些格式中的王者是 MIFF
,它保证能够容纳您可能扔给它的任何和所有东西,包括浮点值、透明度、掩码、连接流......所以如果您需要在 ImageMagick 命令之间传递格式,MIFF
是一个不错的选择。一个例子,只是为了演示,因为它不是最佳的,可能是将来自 2 个单独 ImageMagick 命令的两个图像连接到制作动画 GIF 的第三个命令中:
{ magick -size 100x60 xc:red miff:- ; magick -size 100x60 xc:blue miff:- ; } | magick -delay 80 miff:- result.gif
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。