bei gd imagecopyresized() bleibt oft ein schwarzer balken stehen
ein problem beim resize von bildern habe ich hier: es bleibt rechts oder unten eine schwarze line stehen (1 pixel). manchmal auch beides. ich skaliere meine bilder. ich will versuchen den 1 pixel balken wegzuschneiden, indem ich das erstellte thumbnail skaliere. wie geht das?
hier mein code:
# groesse finden und skalieren
define(MAX_WIDTH, 150); // Breite des gr. Bildes
define(MAX_HEIGHT, 100); // Höhe des gr. Bildes
$altebreite = imagesx($quelle);
$altehoehe = imagesy($quelle);
$scale = min(MAX_WIDTH/$altebreite, MAX_HEIGHT/$altehoehe);
$altehoehe);
$new_width = round($scale*$altebreite);
$new_height = round($scale*$altehoehe);
# thumb-bild erstellen
$ziel = imagecreatetruecolor($new_width, $new_height);
//$farbe_body = imagecolorallocate($ziel,255,255,255);
# Copy and resize old image into new image
imagecopyresized($ziel, $quelle, 0, 0, 0, 0,$new_width, $new_height, $altebreite, $altehoehe);
imagedestroy($quelle);
imagejpeg($ziel,$uploadpath."images/".$files[$i],90); //speichern
Als nicht ganz sauberer workaround habe ich folgendes gemacht:
$ziel = imagecreatetruecolor($new_width, $new_height);
$white = imagecolorallocate($ziel,255,255,255); //Hintergrund weiss, jetzt ist der balken eben weiss. ok für weisse seiten schlecht für hg anders.
imagefill($ziel, 0, 0, $white);
Geändert von 0711concept (15.07.2003 um 13:56:45 Uhr)
|