Artikelbilder Resize-Funktion fehlerhaft

Hallo zusammen, die Artikelbilder-Resize Methode ist fehlerhaft. In der Konfiguration können für die Thumbnails feste Größen hinterlegt werden, z.B. 100x200. Allerdings wird nicht überprüft, ob ein Bild (anhand des Seitenverhältnisses) die festgelegten Werte übertrifft (nach Skalierung). Ich erwarte bei das die Bilder maximal 100 Pixel breit werden und maximal 200 Pixel hoch. Dies ist bei der bisherigen Funktion jedoch nicht der Fall. Untenstehend die Lösung: sResizePictureDynamic in engine\connectors\api\import\shopware.php [code] function sResizePictureDynamic (&$image, $size, $new_width, $new_height) { $breite=$size[0]; //die Breite des Bildes $hoehe=$size[1]; //die Höhe des Bildes // Verhältnis Breite zu Höhe bestimmen if ($breite > $hoehe){ $verhaeltnis = $breite/$hoehe; $breite_neu = $new_width; $hoehe_neu = round($breite_neu / $verhaeltnis,0); }else { $verhaeltnis = $hoehe/$breite; $hoehe_neu = $new_height; $breite_neu = round($hoehe_neu / $verhaeltnis,0); } /* Neu */ $wOrg = $size[0]; $hOrg = $size[1]; $wNew = $new_width; $hNew = $new_height; $wTmp = (($hNew/$hOrg) * $wOrg); $hTmp = (($wNew/$wOrg) * $hOrg); if($wTmp > $wNew) { // Die neue Größe die berechnet wurde ist zu groß! D.h. die Höhe kann nicht verwendet werden. Berechne neue Höhe anhand von neuer Breite $wTmp = $wNew; $hTmp = (($wNew/$wOrg) * $hOrg); } else { $hTmp = $hNew; $wTmp = (($hNew/$hOrg) * $wOrg); } $breite = $wOrg; $hoehe = $hOrg; $breite_neu = $wTmp; $hoehe_neu = $hTmp; /* echo "Neue Berechnung des Bildes
"; echo "Breite: $breite / Höhe: $hoehe
"; echo "BreiteN: $breite_neu / HöheN: $hoehe_neu
"; echo "


"; */ /* Neu ENDE */ $newImage = imagecreatetruecolor($breite_neu,$hoehe_neu); //Thumbnail im Speicher erstellen imagealphablending($newImage, false); imagesavealpha($newImage, true); imagecopyresampled($newImage,$image,0,0,0,0,$breite_neu,$hoehe_neu,$breite,$hoehe); return $newImage; } [/code]