Re: Bilder skalieren
Am Sonntag, 21. August 2005 22:05 schrieb Florian Dorpmueller:
> >#!/bin/bash
> >for filename in *.jpg
> >do
> > convert -scale 800x800 $filename small_$filename
> >done
> >
> >exit 0
> >
> >Das 800x800 sorgt dafür, dass Bilder maximal 800 Pixel breit bzw. hoch
> >werden. So wird das Querformat _und_ das Hochformat der Bilder
> >erhalten, z.B. 800x600 oder 600x800. Sehr nützlich für Fotos.
> >
> >Wenn du wirklich eine feste Größe haben willst, musst du glaube ich
> >800!x600! nehmen, aber das weiß ich nicht mehr ganz genau.
>
> Jo klasse, genau soetwas habe ich gesucht!
convert 800x berechnet proportional die y-Dimension automatisch bzw. x600 die
x-Dimension.
Ich gehe davon aus, dass die bildwichtigen Teile zentral sind und mache
folgendes per Script. Damit kann man jede beliebige Größe auf ein
"Beamerformat" bringen, allerdings eben beschnitten.
CHECKDIMENSIONY=`convert -resize 1024x "$QUALITYFILE" miff:- 2>/dev/null \
| identify -format "%h" -`
if [ "$CHECKDIMENSIONY" -ge 768 ]; then
CROPPOSITIONYBEAMER_768=$((($CHECKDIMENSIONY-768)/2))
convert -resize 1024x -crop 1024x768+0+$CROPPOSITIONYBEAMER_768 \
"$QUALITYFILE" "$BEAMER_768FILE"
...
Soll ein Hochfomat zB nicht beschnitten sein, dann bietet sich folgendes an:
convert -resize x768 "$QUALITYFILE" miff:- 2>/dev/null | composite -comment
"$COMMENT" -quality 95 -gravity center - -size 1024x768 xc:black
"$BEAMER_768FILE"
Al
Reply to: