php – 使用透明度调整图像PNG
发布时间:2020-12-13 16:13:31 所属栏目:PHP教程 来源:网络整理
导读:我想用透明plz帮助调整图像PNG的大小. 这是代码: function resize($width,$height) { $new_image = imagecreatetruecolor($width,$height); imagealphablending($new_image,false); imagesavealpha($new_image,true); $transparent = imagecolorallocatealp
我想用透明plz帮助调整图像PNG的大小.
这是代码: function resize($width,$height) { $new_image = imagecreatetruecolor($width,$height); imagealphablending($new_image,false); imagesavealpha($new_image,true); $transparent = imagecolorallocatealpha($new_image,255,127); imagefilledrectangle($new_image,$width,$height,$transparent); imagecopyresampled($new_image,$this->image,$this->getWidth(),$this->getHeight()); $this->image = $new_image; } 解决方法
试试这个
更新 function createThumb($upfile,$dstfile,$max_width,$max_height){ $size = getimagesize($upfile); $width = $size[0]; $height = $size[1]; $x_ratio = $max_width / $width; $y_ratio = $max_height / $height; if( ($width <= $max_width) && ($height <= $max_height)) { $tn_width = $width; $tn_height = $height; } elseif (($x_ratio * $height) < $max_height) { $tn_height = ceil($x_ratio * $height); $tn_width = $max_width; } else { $tn_width = ceil($y_ratio * $width); $tn_height = $max_height; } if($size['mime'] == "image/jpeg"){ $src = ImageCreateFromJpeg($upfile); $dst = ImageCreateTrueColor($tn_width,$tn_height); imagecopyresampled($dst,$src,$tn_width,$tn_height,$height); imageinterlace( $dst,true); ImageJpeg($dst,100); } else if ($size['mime'] == "image/png"){ $src = ImageCreateFrompng($upfile); // integer representation of the color black (rgb: 0,0) $background = imagecolorallocate($src,0); // removing the black from the placeholder imagecolortransparent($src,$background); // turning off alpha blending (to ensure alpha channel information // is preserved,rather than removed (blending with the rest of the // image in the form of black)) imagealphablending($src,false); // turning on alpha channel information saving (to ensure the full range // of transparency is preserved) imagesavealpha($src,true); $dst = ImageCreateTrueColor($tn_width,$height); Imagepng($dst,$dstfile); } else { $src = ImageCreateFromGif($upfile); $dst = ImageCreateTrueColor($tn_width,$height); imagegif($dst,$dstfile); } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |