Koontz: Bildberechnung: Was stimmt nicht?

Hi,

wenn ein User ein Bild auf meine Homepage raufladen möchte, soll es auf eine Grösse von 150 x 150 Pixeln gebracht werden. Wenn das Ausgangsbild (z.B. 640 x 480 Pixel) nun breiter als höher ist, sollen an der rechten und der linken Seite des Bildes gleich viel Bildinformationen abgeschnitten werden. Hierzu habe ich unten stehenden Code geschrieben. Das Problem ist nun, dass das konvertierte Bild immer noch leicht horizontal gequetscht wird. Was habe ich falsch gemacht?

if ($sizetyp[0] > $sizetyp[1])
{
   $tocut = $sizetyp[0] - $sizetyp[1];
   imagecopyresized($newimg, $source_img, 0, 0, ($tocut / 2), 0, 150,    150, $sizetyp[0] - ($tocut / 2), $sizetyp[1]);
}

Die Variable $sizetyp[0] beinhaltet dabei die Bildbreite in Pixeln und $sizetyp[1] die Bildhöhe. $tocut beinhaltet die Differenzanzahl der Pixel, die in der Breite abgeschnitten werden müssen, damit das Bild letztenendes quadratisch wird.

  1. Hello,

    was soll auf 150*150 pixel² gebracht werden?
     - Das Bild selbst --> es wird verzerrt
     - Der Umrissrahmen, in den das Bild eingepasst wird --> dann benötigt man zwei Bilder,
         die man mit GD kombiniert. Ein "leeres" mit 150*150Pixle² und das umgerechnete
     - Der Ausgabebereich, in dem das Bild ausgegeben wird --> dann muss man das Maximum
         von Breite und Höhe als Skalierungselemnt an den Browser übergeben

    Harzliche Grüße aus http://www.annerschbarrich.de

    Tom

    --
    Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
    Nur selber lernen macht schlau
  2. hi,

    Das Problem ist nun, dass das konvertierte Bild immer noch leicht horizontal gequetscht wird. Was habe ich falsch gemacht?

    evtl. rundungsfehler?

    gruß,
    wahsaga

    --
    "Look, that's why there's rules, understand? So that you _think_ before you break 'em."