Bernard: Bilder relativ verkleinern

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 ???

  1. 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