PHP 放大縮小圖片,支持png gif 透明圖片
function make_icon($src, $dst, $width=72, $height=72) {
if($height<=0 && $width<=0 ) return false;
$im = imagecreatetruecolor($width, $height);
$img = imagecreatefrompng($src);
$in=getimagesize($src);
$img_w=$in[0]; //圖寬
$img_h=$in[1]; //圖高
$trnprt_indx = imagecolortransparent($img);
//如果我們有一個特定的透明色
if($trnprt_indx>=0) {
//獲得原始圖像的透明顏色的RGB值
$trnprt_color=imagecolorsforindex($img, $trnprt_indx);
//在新的圖像資源分配相同的顏色
$trnprt_indx=imagecolorallocate($im, $trnprt_color['red'], $trnprt_color['green'], $trnprt_color['blue']);
//完全填充的配置顏色的新圖像的背景
imagefill($im, 0, 0, $trnprt_indx);
//設置為透明的新圖像的背景顏色
imagecolortransparent($im, $trnprt_indx);
//為PNG圖片分配透明背景顏色
} else{
// 關閉透明度混合
imagealphablending($im, false);
//創建圖像的新的透明色
$color = imagecolorallocatealpha($im, 0, 0, 0, 127);
//完全填充的配置顏色的新圖像的背景
imagefill($im, 0, 0, $color);
//恢復透明度混合
imagesavealpha($im, true);
}
imagecopyresampled($im, $img, 0, 0, 0, 0, $width, $height, $img_w, $img_h);
imagepng($im, $dst);
unset($im);
return true;
}
*