Hi,
Ich habe ein script, welches ein Bild hochlädt, und dieses dann abspeichert.
Vorher wird das Bild noch verkleinert. Dies mache ich mit den PHP Image Funktionen.
Dabei sieht mein Code folgendermaßen aus:
Mein Problem ist hierbei die Transparenz von Bildern. und zwar bekommenTransparente PNG und Gif Bilder einen Schwarzen hintergrund. Wie kann ich dies verhinden, damit die Transparentz erhalten bleibt?
LG
Tobi
Ich habe ein script, welches ein Bild hochlädt, und dieses dann abspeichert.
Vorher wird das Bild noch verkleinert. Dies mache ich mit den PHP Image Funktionen.
Dabei sieht mein Code folgendermaßen aus:
PHP:
$imgPath=ABSOLUTE_SYSTEM_PATH."user/user".$id."/files/profile/profileImage.png";
move_uploaded_file($_FILES['datei']['tmp_name'], $imgPath);
$img = getimagesize($imgPath);
$imgX = $img[0];
$imgY = $img[1];
$type=image_type_to_mime_type($img[2]);
if($type=='image/jpeg'){
//Erstelle Bild von JPG
$src_img = imagecreatefromjpeg($imgPath);
} elseif($type=='image/png'){
//Erstelle Bild von PNG
$src_img = imagecreatefrompng($imgPath);
} elseif($type=='image/gif'){
//Erstelle Bild von Gif
$src_img = imagecreatefromgif($imgPath);
} else {
//Bild typ ist ungueltig!
$content.='<box class="error"> Der Bildtyp "'.$type.'" wird nicht unterstützt! Bitte nur PNG,JPG und GIF Bilder hochladen!</box>';
exit;
}
//}
$new_width=$imgX;
$temp_width = $imgX / 200;
$new_height = $imgY / $temp_width;
$dst_img = imagecreatetruecolor(200,$new_height);
imagecopyresized($dst_img, $src_img, 0, 0, 0, 0, 200, $new_height, $imgX, $imgY);
imagepng($dst_img, $imgPath);
imagedestroy($src_img);
Mein Problem ist hierbei die Transparenz von Bildern. und zwar bekommenTransparente PNG und Gif Bilder einen Schwarzen hintergrund. Wie kann ich dies verhinden, damit die Transparentz erhalten bleibt?
LG
Tobi