将ImageMagick结果输出为Base64字符串而不是文件

Sno*_*all 3 imagemagick

在命令行上,我可以执行以下操作:

convert sourceimg.jpg | base64
Run Code Online (Sandbox Code Playgroud)

并接收代表图像的输出字符串。但是,如果我向图像添加任何转换,则不会输出任何内容:

convert sourceimage.jpg -resize 400x400 output.img | base64
Run Code Online (Sandbox Code Playgroud)

有没有一种快速的方法来获取imagemagick命令的结果的base64表示形式?

Mar*_*ell 5

如果要将输出图像作为PNG,请使用:

convert input.jpg -resize 400x400 PNG:- | base64
Run Code Online (Sandbox Code Playgroud)

如果要将输出图像作为JPG,请使用:

convert input.jpg -resize 400x400 JPG:- | base64
Run Code Online (Sandbox Code Playgroud)


fmw*_*w42 5

在 ImageMagick 中有一个 INLINE: 格式,可以保存到 base 64。见http://www.imagemagick.org/Usage/files/#inline

所以你也可以这样做

variable=$(convert input.jpg -resize 400x400 INLINE:PNG:-)
Run Code Online (Sandbox Code Playgroud)