Bilder automatisch verkleinern

Hallo zusammen!

Ich möchte gern folgendes machen:

Ich möchte in PHP ein Bild hochladen, was auf dem Sever gespeichert werden soll. Jedoch soll das Bild automatisch auf eine Größe von 100x100 bzs. X x 100 oder 100 x X geändert werden, wenn eine/beide Seiten größer sind als 100.

Es geht mir dabei um die tatsächliche Bildgröße, nicht um ein stauchen.

WIe kann ich das mit dem resize machen?
Gibts da n Script oder sowas.

Danke im Voraus!

Servus,
ganz auf die Schnelle mal folgender Ansatz:

  1. auslesen der Höhe und Breite des hochgeladenen Bildes
  2. bei Hochformat: Höhe=100px / Breite: entsprechend skalieren um den Wert, mit dem die Höhe auf 100px skaliert wurde (guter alter Dreisatz:wink:.
    Also bei einem Bild mit Höhe 300px und Breite 120px:
    neue Höhe: 100px (Faktor 1/3)
    neue Breite: 120*1/3 = 40

Hoffe mal keinen Denkfehler gemacht zu haben:wink:

gruss Markus

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

GD
ist das Stichwort…

damit musst Du das Bild einlesen und kannst es anschliessend verkleinert abspeichern.

Danke zunächste für die schnellen Antworten!

Mein Problem liegt aber eher in der „wie erkenne ich Bildgröße & ändere Sie“ als im Mathematischen Verständnis. Gibt es da Funktionen für in PHP oder anderweitig?

Sorry, wenn ich das unglücklich formuliert habe.

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Servus,
würde folgenden Code ohne Gewähr probieren:

define('MAX\_SIZE',100);
$bildAlt = imagecreatefromjpeg('Pfad zum Bild');
$breiteAlt = imagesx($bildAlt);
$hoeheAlt = imagesy($bildAlt);
if($width \> $height){
 $hoeheNeu = (MAX\_SIZE / $breiteAlt ) \* $hoeheAlt;
 $breiteNeu = MAX\_SIZE;
}else{
 $breiteNeu = (MAX\_SIZE / $hoeheAlt ) \* $breiteAlt;
 $hoeheNeu = MAX\_SIZE;
}
$bildNeu = imagecreatetruecolor($breiteNeu, $hoeheNeu);
ImageCopyResampled($imNeu,$imAlt,0,0,0,0,$breiteNeu,$hoeheNeu,$breite,$hoehe);
imagejpeg($bildNeu,'Pfad zum neuen Bild',80);
imagedestroy($bildAlt);
imagedestroy($bildNeu);

Mehr zu den PHP-Grafikbefehlen unter: http://de2.php.net/manual/de/ref.image.php

gruss Markus