Fotodaten:
Länge Alt: 1024
Länge Neu: 300
Breite Alt: 768
Breite Neu: 225
original
Bearbeitet
<?php
/*
Image Scaler fuer PHP5
(c) 2011 by AnB
Lizenz: GPL
*/
// Das Foto
$foto="foto.jpg";
// Hier wird gespeichert
$foto_neu="foto2.jpg";
// maximale Laenge der langen Seite
$maximale_laenge=300;
// Bild einlesen
$bild=imagecreatefromjpeg($foto);
// Qualitaet der Ausgabe-JPG
$qualitaet=98;
// Debug-Ausgabe zeigen
$debug=1;
/* AB HIER BITTE NICHTS MEHR AENDERN OHNE ZU WISSEN WAS MAN TUT ;) */
//groeholen
$laenge_x=imagesx($bild);
$laenge_y=imagesy($bild);
// Neue groesse berechnen, maximum der langen Seite = 300px
if($laenge_x > $laenge_y)
{
// Quer
$faktor=$maximale_laenge / $laenge_x;
$neue_laenge_x = $maximale_laenge;
$neue_laenge_y = $laenge_y*$faktor;
}
else
{
// Hoch
$faktor=$maximale_laenge/$laenge_y;
$neue_laenge_x = $laenge_y*$faktor;
$neue_laenge_y = $maximale_laenge;
}
if($debug==1)
{
// Etwas ausgeben ;)
echo "Fotodaten:<br />\nLänge Alt: ".$laenge_x."<br />\n Länge Neu: ".$neue_laenge_x."<br />\n Breite Alt: ".$laenge_y."<br />\n Breite Neu: ".$neue_laenge_y."<br />\n";
// Zeige die Links
echo "<a href=\"".$foto."\">original</a><br />\n<a href=\"".$foto_neu."\">Bearbeitet</a><br />\n<hr />\n";
// Quellcode ausgeben
echo "<pre>\n";
highlight_file(__FILE__);
echo "</pre>\n";
}
// Erstelle neues Bild
$bild_neu=imagecreatetruecolor($neue_laenge_x, $neue_laenge_y);
// Kopiere Bild in neues
imagecopyresampled( $bild_neu, $bild,0,0,0,0,$neue_laenge_x,$neue_laenge_y,$laenge_x,$laenge_y);
// Speichern
imagejpeg($bild_neu,"$foto_neu",$qualitaet);
?>