在这里我找到了code用于查找和调整大小的文件夹中的所有图片使用AppleScript复制一个图片,并将其粘贴在另一个顶级的终端
现在我需要一张邮票适用于这些图像的一个片一个。我已经准备好了相同尺寸的透明jpg,并准备粘贴到它们上面。
我只是缺乏在终端上做的知识,所以我可以将它与applescript混合。
有没有人知道如何做到这一点,而无需制作工作流程?因为它需要大量的时间,并保持笔记本电脑忙碌
在这里我找到了code用于查找和调整大小的文件夹中的所有图片使用AppleScript复制一个图片,并将其粘贴在另一个顶级的终端
现在我需要一张邮票适用于这些图像的一个片一个。我已经准备好了相同尺寸的透明jpg,并准备粘贴到它们上面。
我只是缺乏在终端上做的知识,所以我可以将它与applescript混合。
有没有人知道如何做到这一点,而无需制作工作流程?因为它需要大量的时间,并保持笔记本电脑忙碌
再次更新:-)
你可以得到这样一个形象的高度:
identify -format "%h" image.jpg
500
和宽度是这样的:
identify -format "%w" image.jpg
800
如果你想找到的高度和宽度较小,再取10%为您的标志大小和马磕它整数,你会怎么做:
identify -format "%[fx:int(0.1*min(h,w))]" image.jpg
50
如果你希望把他们在一个变量,你会做
logosize=$(identify -format "%[fx:int(0.1*min(h,w))]" image.jpg)
echo $logosize
50
然后,您可以使用下面的原始命令是这样的:
convert image.jpg -gravity southeast \
\(copyright.png -resize "${logosize}x${logosize} \) \
-composite result.jpg
我怀疑你打算用find
命令来运行它,不是吗? :-)
find . -iname \*.jpg -exec bash -c 'echo Processing {};logosize=$(identify -format "%[fx:int(0.1*min(h,w))]" "{}"); echo $logosize;convert "{}" -gravity southeast \(copyright.png -resize "$logosizex$logosize" \) -composite "{}"' \;
更新回答
如果你想合成的标志不变顶部之前调整您的原始图像,使用这样的命令:
convert image.jpg -resize 2000x1000 -gravity southeast copyright.png -composite result.jpg
如果你想合成它的不变原始图像的顶部之前,调整标志,使用这样的命令:
convert image.jpg -gravity southeast \(copyright.png -resize 700x200! \) -composite result.jpg
原来的答案
我会使用ImageMagick的。如果您使用homebrew
,它非常强大且易于安装。问你是否不知道如何...
我们假设您有一张名为image.jpg
的图片和一张透明徽标/版权名为copyright.png
。
image.jpg的
copyright.png
然后命令做单个图像将是:
convert image.jpg copyright.png -composite result.jpg
如果您的徽标/版权和图像的大小不同,并要强制标识,比方说,右下角,只需设置-gravity
因此这样的:
convert image.jpg -gravity southeast copyright.png -composite result.jpg
如果你想要做的所有JPEG文件的文件夹中,您将需要一个循环:
#!/bin/bash
shopt -s nullglob
shopt -s nocaseglob
for f in *.jpg; do
convert "$f" copyright.png -composite "$f"
done
顺便说一下,你不能有一个透明的JPEG - 该格式不支持透明度。
如果你真的打算使用Applescript - 我不知道为什么会有人 - 你可以使用do shell script
来调用上述内容 - 首先使文件可执行。询问如果不确定如何。
如果你想缓存到你目前所在的所有目录(文件夹),并将徽标/版权添加到所有图像,我会在其他地方首先制作一个副本并做一个试运行。该命令是:
find . -iname "*.jpg" -exec convert "{}" copyright.png -composite "{}" \;
,说... “找到,并从当前目录中,无论大/小写(-iname),在结尾的文件(。)‘JPG’,并应用他们的标志/版权,保留在原始文件“的顶部。
我同样的问题,年前就有了,我发现的唯一方法是使用Photoshop一个AppleScript(复制层包含照片上的标志和扁平文件)。 脚本循环到文件夹的所有文件。
...但你需要Photoshop的脚本! 我可以共享该脚本,如果有帮助
非常感谢。我没有photoshop,我认为使用命令行这样做会非常强大,所以我会坚持下去,看看别人是否有任何想法 – user3019617
你说得对,这是一个PNG,对不起。 applescript是为了避免必须进行bash,因为我已经完成了调整大小。 在我所有的搜索中,我都找到了关于ImageMagick的东西!但从不解释这一点。非常感谢!你一直很有帮助。去尝试一下。 – user3019617
如果需要,可以将调整大小添加到上面的命令中,如下所示:'convert image.jpg -resize 1024x768 copyright.png -composite result.jpg' –
我使用bash,因为它已经完成了。该文件夹里面有很多其他的。我应该用find来代替copyright.png吧? – user3019617