[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: