Bild verkleinern

Hi,
ich möchte ein Bild verkleinern. Mein Endergebnis wird soll so sein:
1.Formular durch das Bild hochgeladen werden soll (nur png bilder)
2.PHP Script das das Bild auf eine max höhe und max breite von 130px ändert (aber proportional)
3.Dann speichern und in Datenbank eintragen

  1. und 3. werde ich alleine hinbekommen “nur” bei dem proportionalen verkleinern häckts noch. Meine Überlegung da dort aber nur die max. breite festgelegt wird hab ich mir gedacht einfach nach der Breite noch das gleiche mit der Höhe zu machen (was aber bei meinem durchrechnen mit einem beispiel nicht geklappt hat)
    Könnt ihr mir einen Tipp geben

[code]<?php
function to_thumb($bild, $thumb, $size)
{
# Bilddaten feststellen
$file = getimagesize($bild);
$breite_old = $file[0];
$hoehe_old = $file[1];
$breite = $file[0];
$hoehe = $file[1];
$neueBreite = $size;
$neueHoehe = $size;

if($breite>$size) {
  $hoehe = intval($hoehe * $neueBreite / $breite);  
}

if($hoehe>$size) {
$breite = intval($breite * $neueHoehe / $hoehe);
}

if($file[2] == 3)  
{  
    # PNG  
    $altesBild = ImageCreateFromPNG($bild);  
    $neuesBild = imagecreatetruecolor($breite, $hoehe);  
    imagecopyresampled($neuesBild, $altesBild, 0, 0, 0, 0, $breite, $hoehe, $breite_old, $hoehe_old);  
    ImagePNG($neuesBild, $thumb);  
}  

}
?>[/code]

Aufruf dann z.b. so
to_thumb(“pfad/zur/originalem.png”, “/pfad/zum/thumb/speichern.png”, “130”);

Kann mir jemand sagen ob das so stimmt oder ob das so nicht geht … Danke!

wenn du die imagemagick lib verwendest, sollte das mit nur höhe bzw. breite angeben gehen.

grüße,
sebastian

Ich würde übrigens immer durchgehend englische Bezeichnungen verwenden - so ein Sprachmischmasch ist schrecklich.

Ich würde übrigens immer durchgehend englische Bezeichnungen verwenden - so ein Sprachmischmasch ist schrecklich.

Ok. Danke funktioniert :slight_smile:
Normalerweiße nimm ich auch entweder Deutsch oder Englisch her nur hab ich den Code zu 90% aus dem Internet Kopiert und dann hab ichs einfach “unsauber” verändert.
Sorry das ichs ins Falsche Thema geschrieben hab, hätte ich mir eigentlich denken können das so was hier hier gehört.

Vielen Dank
LG Flo