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);
}
}
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
