2015-07-20 52 views
2

在这里我找到了code用于查找和调整大小的文件夹中的所有图片使用AppleScript复制一个图片,并将其粘贴在另一个顶级的终端

现在我需要一张邮票适用于这些图像的一个片一个。我已经准备好了相同尺寸的透明jpg,并准备粘贴到它们上面。

我只是缺乏在终端上做的知识,所以我可以将它与applescript混合。

有没有人知道如何做到这一点,而无需制作工作流程?因为它需要大量的时间,并保持笔记本电脑忙碌

回答

1

再次更新:-)

你可以得到这样一个形象的高度:

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的

enter image description here

copyright.png

enter image description here

然后命令做单个图像将是:

convert image.jpg copyright.png -composite result.jpg 

enter image description here

如果您的徽标/版权和图像的大小不同,并要强制标识,比方说,右下角,只需设置-gravity因此这样的:

convert image.jpg -gravity southeast copyright.png -composite result.jpg 

enter image description here

如果你想要做的所有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’,并应用他们的标志/版权,保留在原始文件“的顶部。

+0

你说得对,这是一个PNG,对不起。 applescript是为了避免必须进行bash,因为我已经完成了调整大小。 在我所有的搜索中,我都找到了关于ImageMagick的东西!但从不解释这一点。非常感谢!你一直很有帮助。去尝试一下。 – user3019617

+0

如果需要,可以将调整大小添加到上面的命令中,如下所示:'convert image.jpg -resize 1024x768 copyright.png -composite result.jpg' –

+0

我使用bash,因为它已经完成了。该文件夹里面有很多其他的。我应该用find来代替copyright.png吧? – user3019617

0

我同样的问题,年前就有了,我发现的唯一方法是使用Photoshop一个AppleScript(复制层包含照片上的标志和扁平文件)。 脚本循环到文件夹的所有文件。

...但你需要Photoshop的脚本! 我可以共享该脚本,如果有帮助

+0

非常感谢。我没有photoshop,我认为使用命令行这样做会非常强大,所以我会坚持下去,看看别人是否有任何想法 – user3019617

相关问题