Bildberechnung: Was stimmt nicht?
Koontz
- php
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.
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
hi,
Das Problem ist nun, dass das konvertierte Bild immer noch leicht horizontal gequetscht wird. Was habe ich falsch gemacht?
evtl. rundungsfehler?
gruß,
wahsaga