Bilder relativ verkleinern
Bernard
- php
0 Marko
Hallo,
ich möchte mit PHP ein Bild verkleinern, wenn es mehr als 150 pixel in die Breite geht oder mehr als 100 pixel hoch ist.
Es soll dann nicht "gequetscht" werden sondern relativ zur vorherigen größe verkleinert werden.
Mit imagecopyresized() kann ich ja nur Pixelgenaue größen angeben.
Gibts eine praktische phpfunktion die die Berechnung übernimmt oder muß ich mit ner Formel die Seitenverhältnisse vorher ausrechnen lassen ???
Hallo Bernard,
gibt meines Wissens keine Funktion, die Berechnung ist aber recht einfach, ich hab das mal so gemacht:
$ImInf = GetImageSize( "./images/".$file );
$XSize = $ImInf[0];
$YSize = $ImInf[1];
$scalefactor = min( $ThumbSizeX / $XSize,$ThumbSizeY / $YSize );
$dstImage = ImageCreate( $ImInf[0] * $scalefactor, $ImInf[1] * $scalefactor );
imagecopyresized( $dstImage, $srcImage,
0, 0, 0, 0,
$ImInf[0] * $scalefactor ,
$ImInf[1] * $scalefactor,
$ImInf[0],
$ImInf[1]);
Die Variablen $ThumbSizeX, $ThumbSizeY geben Dir die maximale X/Y Bildgröße, das verkleinerte Bild passt dann entweder genau in X-Richtung oder Y-Richtung.
hoffe das hilft Dir weiter
Gruss
Marko