我有大约100张图片,我想一次性添加白色边框。 我使用Linux也使用gimp,...请在线下建议我这样做。 还有一件事我试过转换imagemagick上的选项,但没有任何事情发生。
答案 0 :(得分:6)
如果您想一次性完成100次,最好使用ImageMagick的mogrify
命令,在所有图像周围添加10像素的白色边框:
mogrify -mattecolor white -frame 10x10 image*.jpg
如果图像不在一个目录中,您可以执行以下操作,这将在您当前所在的子目录中执行相同的操作:
find . -name \*.jpg -exec convert "{}" -mattecolor white -frame 10x10 "{}" \;
显然,如果您愿意,可以将10
更改为不同的像素数。
请在使用之前进行备份,因为我可能误解了您的需求。
<强>更新强>
如果你想要一个投影,你真的需要使用PNG
而不是JPG
,因为前者支持透明度而后者不支持 - 但是IM无论如何都可以将你的JPEG转换为PNG 。我使用以下命令进行投影:
convert image.jpg \( -clone 0 -background black -shadow 80x3+0+8 \) -reverse -background none -layers merge +repage image.png
所以,我会将它应用于这样的一堆图像:
#!/bin/bash
for f in *.jpg; do
new=${f%%jpg}png # Work out new name = original name minus "jpg" + "png"
echo Processing $f into $new
convert "$f" \( -clone 0 -background black -shadow 80x3+0+8 \) -reverse -background none -layers merge +repage "$new"
done