我在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
的输入?
答案 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
删除原始图片。