[rešeno] Skripta za resize slik
Sem našel eno skripto s katero naj bi slike pomanjšal na željeno velikost.
Ker večkrat pomanjšam slike bi mi ena taka skripta res prav prišla, da naredim vse z enim klikom.
Problem je, da ne pomanjša kot bi jaz želel.
evo skripta
#!/bin/bash
echo "This will resize all jpg images in the current directory to 640x480 (or 480x640, as appropriate), an optional paramter will be prefixed to result files."
for i in *.JPG ;
do
SIZEX=$(identify $i | egrep -o '[0-9]+x' | egrep -o '[0-9]+')
SIZEY=$(identify $i | egrep -o 'x[0-9]+' | egrep -o '[0-9]+')
if(test $SIZEX -ge $SIZEY;)then
convert -size 899x674 $i -resize 899x674 $1_$i;
else
convert -size 503x674 $i -resize 503x674 $1_$i;
fi
echo "resized image $1_$i created." ;
done
Torej, rad bi da mi sliko 2592x1944 zmanjša na 899x674.
Če je portret slika, pa na 503x674.
če zažene zgornjo skripto mi zmanjša sliko veličine 2592x1944 na 503x377.
Očitno je nekje napaka v skripti ali pa je cela skripta bolj boga.
Lahko kdo pomaga, ali pa če ima kakšno drugo delujočo skripto.
drugače delam to z programom gThumb Image Viewer. Samo bi bilo lažje in hitreje s skripto.
Ker vzamem original sliko in jo pomanjšam 2x. Na 899x674 in 227x170.
Oziroma če je portret slika na 503x674 in 227x302.
Ker večkrat pomanjšam slike bi mi ena taka skripta res prav prišla, da naredim vse z enim klikom.
Problem je, da ne pomanjša kot bi jaz želel.
evo skripta
#!/bin/bash
echo "This will resize all jpg images in the current directory to 640x480 (or 480x640, as appropriate), an optional paramter will be prefixed to result files."
for i in *.JPG ;
do
SIZEX=$(identify $i | egrep -o '[0-9]+x' | egrep -o '[0-9]+')
SIZEY=$(identify $i | egrep -o 'x[0-9]+' | egrep -o '[0-9]+')
if(test $SIZEX -ge $SIZEY;)then
convert -size 899x674 $i -resize 899x674 $1_$i;
else
convert -size 503x674 $i -resize 503x674 $1_$i;
fi
echo "resized image $1_$i created." ;
done
Torej, rad bi da mi sliko 2592x1944 zmanjša na 899x674.
Če je portret slika, pa na 503x674.
če zažene zgornjo skripto mi zmanjša sliko veličine 2592x1944 na 503x377.
Očitno je nekje napaka v skripti ali pa je cela skripta bolj boga.
Lahko kdo pomaga, ali pa če ima kakšno drugo delujočo skripto.
drugače delam to z programom gThumb Image Viewer. Samo bi bilo lažje in hitreje s skripto.
Ker vzamem original sliko in jo pomanjšam 2x. Na 899x674 in 227x170.
Oziroma če je portret slika na 503x674 in 227x302.
Komentarji
Sedaj bom veliko hitreje poštimal slike.
Sedaj sem malo bolj pogledal in sprobal tale program in mi je res všeč. Ko enkrat naštimaš kar pač želiš, da ti naredi s slikami samo posnameš ta "profil" in naslednjič ga naložiš, vržeš not slike in to je več ali manj to. Slike ti uredi kot imaš naštimano.
Jaz sem si naredil dva profila. Enega za portrait slike in enega za landscape. Pač naložim profil odvisno katere slike želim zmanjšat in potem samo izberem vse slike in jih vržem not. Program potem naredi dve mapi, (to si naštimaš po želji) landscape in portrait in v njih še mapi tn. Tako mi na enkrat da v mapo portrait slike 899x674 in v mapo portrait/tn slike 227x170.
Sicer ni skripta, deluje pa
Če kdo obdeluje večjo količino slik in recimo dela iste operacije, je tale programček zakon, ker si pač narediš "profil" kaj naj ti naredi s slikami in imaš naslednjič takoj vse pripravljeno za obdelavo.
Datoteka naj bo izvedljiva in vsakič, ko boš kliknil nanjo, bodo vse slike jpg v mapi spremenjene na navedeno velikost.
To je bilo to kar sem želel. Preprosta in učinkovita skripta. Za portrait slike sem samo moral pravilno zapisat, višino x širino in ne obratno in sedaj vse lepo deluje.
m5it@(none) ~/m5it-programs/m5it/imgresize $ ls -lh
skupno 1,2M
-rw-r--r-- 1 m5it m5it 263K mar 15 15:07 20061103GTWaterColor-1280x1024.jpg
-rw-r--r-- 1 m5it m5it 91K mar 15 15:06 gay-test.jpg
-rw-r--r-- 1 m5it m5it 312K mar 15 15:07 hb.jpg
-rwxr-xr-x 1 m5it m5it 1,1K mar 16 10:52 imgr.sh
-rw-r--r-- 1 m5it m5it 350K mar 15 15:07 landscape16_1280x1024.jpg
-rw-r--r-- 1 m5it m5it 143K mar 15 15:07 Tinker_Bell_Fairies_1280x1024.jpg
m5it@(none) ~/m5it-programs/m5it/imgresize $ ./imgr.sh 1024
Converting file: 20061103GTWaterColor-1280x1024.jpg to 1280px -> 1024px(80%) -> 20061103GTWaterColor-1280x1024-resized.jpg
Converting file: gay-test.jpg to 750px -> 1024px(136%) -> gay-test-resized.jpg
Converting file: hb.jpg to 1280px -> 1024px(80%) -> hb-resized.jpg
Converting file: landscape16_1280x1024.jpg to 1280px -> 1024px(80%) -> landscape16_1280x1024-resized.jpg
Converting file: Tinker_Bell_Fairies_1280x1024.jpg to 1280px -> 1024px(80%) -> Tinker_Bell_Fairies_1280x1024-resized.jpg
m5it@(none) ~/m5it-programs/m5it/imgresize $ ls -lh
skupno 1,2M
-rw-r--r-- 1 m5it m5it 263K mar 15 15:07 20061103GTWaterColor-1280x1024.jpg
-rw-r--r-- 1 m5it m5it 19K mar 16 10:53 20061103GTWaterColor-1280x1024-resized.jpg
-rw-r--r-- 1 m5it m5it 91K mar 15 15:06 gay-test.jpg
-rw-r--r-- 1 m5it m5it 7,0K mar 16 10:53 gay-test-resized.jpg
-rw-r--r-- 1 m5it m5it 312K mar 15 15:07 hb.jpg
-rw-r--r-- 1 m5it m5it 3,3K mar 16 10:53 hb-resized.jpg
-rwxr-xr-x 1 m5it m5it 1,1K mar 16 10:52 imgr.sh
-rw-r--r-- 1 m5it m5it 350K mar 15 15:07 landscape16_1280x1024.jpg
-rw-r--r-- 1 m5it m5it 2,2K mar 16 10:53 landscape16_1280x1024-resized.jpg
-rw-r--r-- 1 m5it m5it 143K mar 15 15:07 Tinker_Bell_Fairies_1280x1024.jpg
-rw-r--r-- 1 m5it m5it 2,0K mar 16 10:53 Tinker_Bell_Fairies_1280x1024-resized.jpg
Uporabno: http://www.imagemagick.org/script/convert.php
Ja, res uporabno. Nisem vedel, da se da tako enostavno obdelat-konvertat sliko že kar v terminalu.
Sem bookmarkal stran.
#!/bin/bash
mkdir resized
for i in `ls *.jpg`
do
echo -n "Converting file: $i to resized/$i "
convert $i -resize $1 resized/$i
done