2014-04-04 60 views
0

有沒有什麼辦法讓我可以通過單個命令裁剪很多圖片或者在gimp或photoshop中有任何選項。我怎樣才能批量裁剪多個圖像

我知道的東西是圖像寬度是930和高度是800.我想分割成兩個新的圖像寬度應該等於930/2 = 465高度應該保持相同。

任何人都知道解決方案嗎?

回答

1

我會建議你使用ImageMagick的,這是可以免費使用Windows,Linux和OSX從here

例如,通過256個像素最大裁剪所有JPEG文件在當前目錄中的256個像素最大

mogrify -resize 256x256 *.jpg 

你的目的,假設輸入文件名爲a.jpg,你可能需要

convert a.jpg -crop 465x800+465+0 +repage a2.jpg 
convert a.jpg -crop 465x800+0+0 +repage a1.jpg 

和a1.jpg和a2.jpg將兩半,

我不知道,如果你是在Windows或Linux,但你可以把這個在一個循環中很輕鬆地做所有的圖像

未經測試:

Linux的...

for f in *.jpg 
do 
    newbase=$(basename "$f") 
    convert "$f" -crop 465x800+465+0 +repage "${newbase}_1.jpg" 
    convert "$f" -crop 465x800+0+0 +repage "${newbase}_2.jpg" 
done 

MS-DOS命令(我的技能是生疏這裏)

FOR %a in (*.jpg) DO something 

備份您的圖像,然後再嘗試任何命令!

+0

你是怎麼做到的? –

0

假設你有一個圖片(遞歸),只是圖片,沒有其他的文件... 假設所有這些圖像是足夠大分裂的一個文件夾... 你可以使用這個腳本

我使用它可以將3840x1080圖像分割爲2個1920x1080圖像,用於雙屏幕桌面背景圖像。

#!/bin/bash 

files=$(find -type f) 
basedir=$(pwd) 

width=1920 
height=1080 

for f in $files 
do 
     dir=$(dirname "$f") 
     cd $dir 

     file=$(basename "$f") 
     newfile=$(echo $file | cut -d. -f1) 

     convert "$file" -crop ${width}x${height}+0+0 +repage "${newfile}_1_of_2.jpg" 
     convert "$file" -crop ${width}x${height}+${width}+0 +repage "${newfile}_2_of_2.jpg" 

     cd $basedir 
done 
0

您可以嘗試crop.bat(不需要外部二進制):

call crop.bat -source image.jpg -target image-left.jpg -percentage yes -right 50 -force yes 

call crop.bat -source image.jpg -target image-right.jpg -percentage yes -left 50 -force yes 

對於質量的圖像裁剪,您可以檢查for命令。