Tobias Otto: bild größe verändern

hallo, ich möchte per php die bildgröße verändern. habe dazu mir ein kleines script geschrieben.

wenn ich dieses aufrufe, verkleinert es mir zwar das bild aber die quailtät wir viel schlechter.

was kann ich machen das ich ein thumbbild in anständiger qualität bekomme.

$bild_s = split("[.]",$filename);
$dateiname2_norm = $bild_s[0].'_norm.'.$bild_s[1] ;
$dateiname2_small = $bild_s[0].'_small.'.$bild_s[1] ;

$gross = getimagesize( $img_path_up.$filename ) ;
$breite = $gross[0] ;
$hoehe = $gross[1] ;
$typ = $gross[2] ;

$bildname = $img_path_up.$filename; // Bildname angeben
$bx= 150;                 // neue Breite angeben
$by= $hoehe * $bx / $breite;                 // neue Hoehe angeben

$bild=imagecreatefromjpeg($bildname);
$bo=imagesx($bild);
$ho=imagesy($bild);

$bildneu=imagecreate($bx,$by);
imagecopyresized($bildneu,$bild,0,0,0,0,$bx,$by,$bo,$ho);
imagejpeg($bildneu,$img_path_up.$filename.'2');

  1. was kann ich machen das ich ein thumbbild in anständiger qualität bekomme.

    Mit den Kommandozeilen-Tools von ImageMagick kann man viele schöne Sachen mit Bildern machen. Die Programme kannst du mittels exec ausführen...wirst aber evtl. Probleme bekommen wenn du das ganze auf einem Server laufen lässt bei dem du keine Root-Rechte hast. Daher am besten die Bilder auf deinem Rechner damit lokal erstellen lassen. Falls du einen Root-Server hast solltest du aber auf keine größeren Schwierigkeiten stoßen.

    Evtl. gibts für dein spezielles Problem aber auch noch eine einfachere Möglichkeit.

    1. Hellihello Skafoi,

      hat Imagemagick denn Vorteile gegenüber PHP? Beim einfachen verkleinern?

      Dank und Gruß,

      frankx

      1. hat Imagemagick denn Vorteile gegenüber PHP? Beim einfachen verkleinern?

        Hat auf jeden Fall den Vorteil, dass die Bilder definitiv gut aussehen beim einfachen Verkleinern. Kenn mich mit den normalen PHP-Grafik-Funktionen aber auch nicht so gut aus. Vlt. hast du auch einfach nur etwas falsch gemacht.

        1. Hellihello Skafoi

          Hat auf jeden Fall den Vorteil, dass die Bilder definitiv gut aussehen beim einfachen Verkleinern. Kenn mich mit den normalen PHP-Grafik-Funktionen aber auch nicht so gut aus. Vlt. hast du auch einfach nur etwas falsch gemacht.

          Der Aufruf geht dann aber nur über shell_exec("ein_shellscript_fuer_imagamagick") oder? Ich hatte jetzt noch nix falsch gemacht, weil ich bisher nur überlegte, ob ich fürs zuschneiden von User-Fotos (nach upload) eben imagemagick oder genausogut PHP nehmen könnte.

          Dank und Gruß,

          frankx

          1. Der Aufruf geht dann aber nur über shell_exec("ein_shellscript_fuer_imagamagick") oder?

            genau...deswegen meinte ich ja in meinem ersten post, dass es kompliziert werden könnte, wenn du auf dem rechner auf dem du das script laufen lassen möchtest keinen root-zugriff hast.

  2. Hallo,

    $bildneu=imagecreate($bx,$by);

    Versuch imagecreatetruecolor()

    Grüße, Matze

  3. Hallo Tobias,

    imagecopyresized($bildneu,$bild,0,0,0,0,$bx,$by,$bo,$ho);

    Versuche imagecopyresampled

    Grüße,

    Jochen

    --
    Kritzeln statt texten:
    Scribbleboard