1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > php 图片抠图 php 图像处理 抠图 生成背景透明png 图片

php 图片抠图 php 图像处理 抠图 生成背景透明png 图片

时间:2020-06-01 19:08:36

相关推荐

php 图片抠图 php 图像处理 抠图 生成背景透明png 图片

*自定义一个图片等比缩放函数

*@param string $picname 被缩放图片名

*@param string $path 被缩放图片路径

*@param int $maxWidth 图片被缩放后的最大宽度

*@param int $maxHeight 图片被缩放后的最大高度

*@param string $pre 缩放后的图片名前缀,默认为"s_"

*@return boolen 返回布尔值表示成功与否。

*/

function imageResize($picname,$path,$maxWidth,$maxHeight,$pre="s_"){

$path = rtrim($path,"/")."/";

//1获取被缩放的图片信息

$info = getimagesize($path.$picname);

//获取图片的宽和高

$width = $info[0];

$height = $info[1];

//2根据图片类型,使用对应的函数创建画布源。

switch($info[2]){

case 1: //gif格式

$srcim = imagecreatefromgif($path.$picname);

break;

case 2: //jpeg格式

$srcim = imagecreatefromjpeg($path.$picname);

break;

case 3: //png格式

$srcim = imagecreatefrompng($path.$picname);

break;

default:

return false;

//die("无效的图片格式");

break;

}

//3. 计算缩放后的图片尺寸

if($maxWidth/$width<$maxHeight/$height){

$w = $maxWidth;

$h = ($maxWidth/$width)*$height;

}else{

$w = ($maxHeight/$height)*$width;

$h = $maxHeight;

}

//4. 创建目标画布

$dstim = imagecreatetruecolor($w,$h);

//5. 开始绘画(进行图片缩放)

imagecopyresampled($dstim,$srcim,0,0,0,0,$w,$h,$width,$height);

//6. 输出图像另存为

switch($info[2]){

case 1: //gif格式

imagegif($dstim,$path.$pre.$picname);

break;

case 2: //jpeg格式

imagejpeg($dstim,$path.$pre.$picname);

break;

case 3: //png格式

imagepng($dstim,$path.$pre.$picname);

break;

}

}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。