你能帮我摆脱我的imagemagick转换命令中的中间输出吗?

时间:2016-04-25 20:57:33

标签: bash imagemagick-convert

我在bash中有以下convert命令。

    convert "$WALLPAPER1" -resize "${H[0]}"x"${V[0]}"^ -gravity center -crop "${H[0]}"x"${V[0]}"+0+0 "$WALLPAPERS/.temp1.jpg"
    convert "$WALLPAPER2" -resize "${H[1]}"x"${V[1]}"^ -gravity center -crop "${H[1]}"x"${V[1]}"+0+0 jpg:- |
    convert "$WALLPAPERS/.temp1.jpg" - +append "$WALLPAPERS/.temp.jpg"

有没有办法可以摆脱"$WALLPAPERS/.temp1.jpg"中介?那么有没有办法将第一个convert的输出结转到第三个convert的输入?

1 个答案:

答案 0 :(得分:1)

convert "$WALLPAPER1" -resize "${H[0]}"x"${V[0]}"^ -gravity center -crop "${H[0]}"x"${V[0]}"+0+0 -write mpr:temp1 +delete \
"$WALLPAPER2" -resize "${H[1]}"x"${V[1]}"^ -gravity center -crop "${H[1]}"x"${V[1]}"+0+0 -write mpr:temp2 +delete \
-gravity north mpr:temp1 mpr:temp2 +append "$WALLPAPERS/.temp.jpg"

无需进行3次转换。您可以写入 memory-program-register (mpr),然后再调用,而不是写入文件。 +delete删除原始图片。