>백엔드 개발 >PHP 튜토리얼 >PHP는 증명사진의 배경색도 변경할 수 있습니다. 와서 배워보세요!

PHP는 증명사진의 배경색도 변경할 수 있습니다. 와서 배워보세요!

藏色散人
藏色散人앞으로
2021-09-21 16:33:054239검색

이 글은 PHP에서 증명사진 배경색 변경, 인물 사진 잘라내기, PHP에서 배경 이미지 변경 방법을 소개하는 PHP 튜토리얼 칼럼입니다. 도움이 되셨으면 좋겠습니다!

php 신분증 사진 배경색 변경, php 인물컷아웃, php 배경이미지 변경

코드는 다음과 같습니다:

<?php //背景图和原图需要保持宽高要保持一样,这里的示例原图用的是蓝色背景
init();
function init(){
    $old = &#39;1.png&#39;;
    $new = &#39;2.png&#39;;
    //创建一个png透明图
    $img = imagecreatefrompng($old);
    setpng($img,$old,$new);
}
function setpng($imgid,$filename,$savename){
    $bg = &#39;bg.png&#39;;//背景图
    $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 &#39;<img  src="&#39;.$savename.&#39;" alt="PHP는 증명사진의 배경색도 변경할 수 있습니다. 와서 배워보세요!" >';
}
function cleancolor($imgid,$color){
    $width = imagesx($imgid);//获取宽
    $height = imagesy($imgid);//获取高
    for($i=0;$i> 16)&0xff;//取R
            $g = ($rgb >> 8)&0xff;//取G
            $b = $rgb&0xff;//取B
            $randr = 1.5;
            $randg = 1;
            $randb=1;
            //蓝色RGB大致的位置。替换成绿色
            if($r=100){
                //如果能够精确的计算出要保留位置的,这里可以写绝对的数字
                if($i>=$width/2 && $i=$height/2 && $k<pre class="brush:php;toolbar:false">$old指的是要处理的图片,指定为png格式
$new指的是处理后输出的图片名
$bg指的是背景图

PHP는 증명사진의 배경색도 변경할 수 있습니다. 와서 배워보세요!

작성자: TANKING
날짜:2020-05-07
웹: http:/ /www .likeyunba.com/
WeChat:face6009

추천 학습: "PHP 비디오 튜토리얼"

위 내용은 PHP는 증명사진의 배경색도 변경할 수 있습니다. 와서 배워보세요!의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 segmentfault.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제