I am using the below code to resize images. When transparent images, (png/gif) are uploaded the new images created have black background. How can i make the background white after resizing? pls help
$info = pathinfo($_FILES['file']['name']);
$ext = $info['extension']; // get the extension of the file
$newname = "testing".".".$ext;
$target = 'uploads/'.$newname;
move_uploaded_file( $_FILES['file']['tmp_name'], $target);;
$filename=$newname;
if($ext=='jpg'||$ext=='jpeg')
{
$im = imagecreatefromjpeg('uploads/'.$filename);
}
else if ($ext=='gif')
{
$im = imagecreatefromgif('uploads/'.$filename);
}
else if ($ext=='png')
{
$im = imagecreatefrompng('uploads/'.$filename);
}
$ox = imagesx($im);
$oy = imagesy($im);
$nm = imagecreatetruecolor(245, 184);
imagealphablending( $nm, FALSE );
imagesavealpha( $nm, TRUE );
imagecopyresized($nm, $im, 0,0,0,0,245,184,$ox,$oy);
imagejpeg($nm, 'uploads/' . $filename);
Try using
imagecolortransparent
in your code.
http://www.php.net/manual/en/function.imagecolortransparent.php