如何使用php调整png和gif图像的大小并存储透明背景?
这是我的代码
您的图像会将图像调整为200x200像素并爬到PIE目录。这是一个很好的工作。但是当与png或gif图像(透明bg)一起使用时。它会将bg变为黑色。在调整图像大小后,如何制作透明的bg?
原始
复制
include 'compressImage.php';
<?php
$widthArray = array(200);
foreach($widthArray as $newwidth)
{
compressImage($ext,$tmp,$path,$userID.$actual_image_name,$newwidth);
}
?>
compressImage.php:
<?php
//Compress Image
function compressImage($ext,$uploadedfile,$path,$actual_image_name,$newwidth)
{
if($ext=="jpg" || $ext=="jpeg" )
{
$src = imagecreatefromjpeg($uploadedfile);
}
else if($ext=="png")
{
$src = imagecreatefrompng($uploadedfile);
}
else if($ext=="gif")
{
$src = imagecreatefromgif($uploadedfile);
}
else
{
$src = imagecreatefrombmp($uploadedfile);
}
list($width,$height)=getimagesize($uploadedfile);
$newheight=($height/$width)*$newwidth;
$tmp=imagecreatetruecolor($newwidth,$newheight);
imagecopyresampled($tmp,$src,0,0,0,0,$newwidth,$newheight,$width,$height);
$filename = $path.$newwidth.'_'.$actual_image_name;
imagejpeg($tmp,$filename,100);
imagedestroy($tmp);
return $filename;
}
?>
答案 0 :(得分:0)
为了保持透明度,您必须使用允许透明度的图像格式。见imagepng(http://php.net/manual/de/function.imagepng.php)。