Tôi tạo hình thu nhỏ bằng cách sử dụng thư viện PHP và GD nhưng mã của tôi biến tính minh bạch png thành màu đen đặc, Có giải pháp để cải thiện mã của tôi không?imagecreatefrompng() Tạo nền đen thay vì trong suốt?
này là php mã của tôi nhà sản xuất thu nhỏ:
function cropImage($nw, $nh, $source, $stype, $dest) {
$size = getimagesize($source);
$w = $size[0];
$h = $size[1];
switch($stype) {
case 'gif':
$simg = imagecreatefromgif($source);
break;
case 'jpg':
$simg = imagecreatefromjpeg($source);
break;
case 'png':
$simg = imagecreatefrompng($source);
break;
}
$dimg = imagecreatetruecolor($nw, $nh);
$wm = $w/$nw;
$hm = $h/$nh;
$h_height = $nh/2;
$w_height = $nw/2;
if($w> $h) {
$adjusted_width = $w/$hm;
$half_width = $adjusted_width/2;
$int_width = $half_width - $w_height;
imagecopyresampled($dimg,$simg,-$int_width,0,0,0,$adjusted_width,$nh,$w,$h);
} elseif(($w <$h) || ($w == $h)) {
$adjusted_height = $h/$wm;
$half_height = $adjusted_height/2;
$int_height = $half_height - $h_height;
imagecopyresampled($dimg,$simg,0,-$int_height,0,0,$nw,$adjusted_height,$w,$h);
} else {
imagecopyresampled($dimg,$simg,0,0,0,0,$nw,$nh,$w,$h);
}
imagejpeg($dimg,$dest,100);
}
Cảm ơn bạn
Sử dụng dưới đây hướng dẫn cho hình ảnh cắt xén http://stackoverflow.com/questions/43409133/solved-png-image-issue-php-background-black-backround-on-resized-images –