php也可以实现证件照换底色,快来学习!

php也可以实现证件照换底色,快来学习!,第1张

概述php也可以实现证件照换底色,快来学习! 本文由PHP教程栏目给大家介绍PHP证件照换底色、PHP人像抠图、PHP换背景图方法,希望对你有所帮助!

PHP证件照换底色、PHP人像抠图、PHP换背景图

代码如下:

<?php//背景图和原图需要保持宽高要保持一样,这里的示例原图用的是蓝色背景init();function init(){    $old = '1.png';    $new = '2.png';    //创建一个png透明图    $img = imagecreatefrompng($old);    setpng($img,$old,$new);}function setpng($imgid,$filename,$savename){    $bg = 'bg.png';//背景图    $new = imagecreatefrompng($bg);//创建一个png透明图    list($width,$height)=getimagesize($filename);//获取长和宽    $white = imagecolorallocate($imgid,1,155,215);//选择一个替换颜色。这里是绿色    cleancolor($imgid,$white);    imagecolortransparent($imgid,$white);//把选择的颜色替换成透明    imagecopymerge($new,$imgid,0,0,0,0,$width,$height,100);//合并图片    imagepng($new,$savename);//保存图片    imagedestroy($imgid);//销毁    imagedestroy($new);    echo '<img src="'.$savename.'">';}function cleancolor($imgid,$color){    $width = imagesx($imgid);//获取宽    $height = imagesy($imgid);//获取高    for($i=0;$i<$width;$i++){        for($k=0;$k<$height;$k++){            //对比每一个像素            $rgb = imagecolorat($imgid,$i,$k);            $r = ($rgb >> 16)&0xff;//取R            $g = ($rgb >> 8)&0xff;//取G            $b = $rgb&0xff;//取B            $randr = 1.5;            $randg = 1;            $randb=1;            //蓝色RGB大致的位置。替换成绿色            if($r<=65*$randr && $g<=225*$randg && $b<=255*$randb && $b*$randb>=100){                //如果能够精确的计算出要保留位置的,这里可以写绝对的数字                if($i>=$width/2 && $i<=$width/2 && $k>=$height/2 && $k<=$height/2){                                    }else{                    //改变颜色                    imagesetpixel($imgid,$i,$k,$color);                }            }        }    }}
$old指的是要处理的图片,指定为png格式$new指的是处理后输出的图片名$bg指的是背景图

Author:TANKING
Date:2020-05-07
Web:http://www.likeyunba.com/
WeChat:face6009

推荐学习:《PHP视频教程》 总结

以上是内存溢出为你收集整理的php也可以实现证件照换底色,快来学习!全部内容,希望文章能够帮你解决php也可以实现证件照换底色,快来学习!所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1007732.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-22
下一篇 2022-05-22

发表评论

登录后才能评论

评论列表(0条)

保存