単一のコマンドで多くの画像をトリミングできる方法はありますか、または gimp または photoshop にオプションはありますか。
私が知っていることは、画像の幅が 930 で高さが 800 であることです。これらの画像を 2 つの新しい画像に分割したいのですが、幅は 930/2=465 に等しく、高さは同じままにする必要があります。
誰でも解決策を知っていますか?
単一のコマンドで多くの画像をトリミングできる方法はありますか、または gimp または photoshop にオプションはありますか。
私が知っていることは、画像の幅が 930 で高さが 800 であることです。これらの画像を 2 つの新しい画像に分割したいのですが、幅は 930/2=465 に等しく、高さは同じままにする必要があります。
誰でも解決策を知っていますか?
ここからWindows、Linux、OSXで無料で利用できるImageMagickを使用することをお勧めします
たとえば、現在のディレクトリ内のすべての jpeg を最大 256 ピクセル x 最大 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 は 2 つの半分になります。
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
コマンドを試す前に、イメージをバックアップしてください!!!
画像(再帰的)を含むフォルダがあり、画像だけで他のファイルはないと仮定します...これらの画像がすべて分割するのに十分な大きさであると仮定します...このスクリプトを使用できます
これを使用して、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