使用 Imagemagick,在图像外部添加水印,例如。批量使用填充?
Using Imagemagick, add watermark outside the image eg. using padding, in bulk?
我正在尝试在图像外部添加水印,首先创建一个填充位置。
- a) 我该怎么做?我的 imagemagick 命令有问题。不要
覆盖我所有的图像文件,例如。 "DSC_5568 - DSC_5588_fused.jpg" 没有添加填充。
- b) 我可以组合这两个单独的命令吗?
- c) 我想批量处理
我的 imagemagick 命令:
for pic in DSC*.*; do convert -background black -extent 0%x0%+0+100 $pic ${pic//.*}-padded.jpg; done
for pic in DSC*padded.*; do composite -dissolve 100% -gravity SouthEast watermark.png $pic ${pic//.*}-marked.jpg; done
示例文件名:
"DSC_5568.JPG, DSC_5568 - DSC_5588_fused.jpg.... etc."
我找到了如何处理我所有的图像文件,在指定的文件名上使用“”。
for pic in DSC*.*; do convert -background black -extent 0%x0%+0+100 "$pic" "${pic//.*}-padded.jpg"; done
for pic in DSC*-padded.*; do composite -dissolve 100% -gravity SouthEast watermark.png "$pic" "${pic//.*}-marked.jpg"; done
您确实应该提供示例输入和预期的输出图像,但我认为您需要这个:
convert INPUT.JPG -background black -extent 0%x0%+0+100 -gravity southeast watermark.png -compose dissolve -composite RESULT.JPG
您可能需要添加此 -define
:
... watermark.png -define compose:args=100 -compose dissolve -composite ...
如果可行,我会 COPY 您的所有文件 在备用目录中 并同时执行所有操作GNU 并行:
parallel 'convert {} -background black -extent 0%x0%+0+100 -gravity southeast watermark.png -compose dissolve -composite {.}-marked.jpg' ::: *.jpg
或者,如果您更喜欢简单的 bash for
循环:
for f in DSC* ; do
convert "$f" -background black -extent 0%x0%+0+100 -gravity southeast watermark.png -compose dissolve -composite "${f//.*}-marked.jpg"
done
我正在尝试在图像外部添加水印,首先创建一个填充位置。
- a) 我该怎么做?我的 imagemagick 命令有问题。不要 覆盖我所有的图像文件,例如。 "DSC_5568 - DSC_5588_fused.jpg" 没有添加填充。
- b) 我可以组合这两个单独的命令吗?
- c) 我想批量处理
我的 imagemagick 命令:
for pic in DSC*.*; do convert -background black -extent 0%x0%+0+100 $pic ${pic//.*}-padded.jpg; done
for pic in DSC*padded.*; do composite -dissolve 100% -gravity SouthEast watermark.png $pic ${pic//.*}-marked.jpg; done
示例文件名:
"DSC_5568.JPG, DSC_5568 - DSC_5588_fused.jpg.... etc."
我找到了如何处理我所有的图像文件,在指定的文件名上使用“”。
for pic in DSC*.*; do convert -background black -extent 0%x0%+0+100 "$pic" "${pic//.*}-padded.jpg"; done
for pic in DSC*-padded.*; do composite -dissolve 100% -gravity SouthEast watermark.png "$pic" "${pic//.*}-marked.jpg"; done
您确实应该提供示例输入和预期的输出图像,但我认为您需要这个:
convert INPUT.JPG -background black -extent 0%x0%+0+100 -gravity southeast watermark.png -compose dissolve -composite RESULT.JPG
您可能需要添加此 -define
:
... watermark.png -define compose:args=100 -compose dissolve -composite ...
如果可行,我会 COPY 您的所有文件 在备用目录中 并同时执行所有操作GNU 并行:
parallel 'convert {} -background black -extent 0%x0%+0+100 -gravity southeast watermark.png -compose dissolve -composite {.}-marked.jpg' ::: *.jpg
或者,如果您更喜欢简单的 bash for
循环:
for f in DSC* ; do
convert "$f" -background black -extent 0%x0%+0+100 -gravity southeast watermark.png -compose dissolve -composite "${f//.*}-marked.jpg"
done