2015-07-20 44 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

相關問題