在命令行上,我可以這樣做:輸出ImageMagick的結果爲Base64字符串而不是文件
convert sourceimg.jpg | base64
和接收表示所述圖像的輸出的字符串。 不過,如果我添加任何轉換應用到圖像,沒有什麼是輸出:
convert sourceimage.jpg -resize 400x400 output.img | base64
是否有一個快速的方式來獲得的ImageMagick命令的結果的Base64表示?
在命令行上,我可以這樣做:輸出ImageMagick的結果爲Base64字符串而不是文件
convert sourceimg.jpg | base64
和接收表示所述圖像的輸出的字符串。 不過,如果我添加任何轉換應用到圖像,沒有什麼是輸出:
convert sourceimage.jpg -resize 400x400 output.img | base64
是否有一個快速的方式來獲得的ImageMagick命令的結果的Base64表示?
如果你想在輸出圖像作爲PNG
,使用方法:
convert input.jpg -resize 400x400 PNG:- | base64
如果你想在輸出圖像爲JPG
,使用:
convert input.jpg -resize 400x400 JPG:- | base64
在ImageMagick的還有一個內聯:格式這將節省到基地64.見http://www.imagemagick.org/Usage/files/#inline
所以你也可以做
variable=$(convert input.jpg -resize 400x400 INLINE:PNG:-)
從內存中使用base64時,文件大小有限制;去年我遇到了問題,但不記得它是讀或寫。 – Bonzo
@Bonzo好吧,謝謝你分享你的見解。我認爲OP的問題在於,他的所有輸出都在'output.img'文件中,所以沒有什麼可以傳入'base64'。他只需要省略'output.img'並告訴IM在'stdout'上寫入。 –