• php gd库怎么把一个图片裁剪成圆形的


    微信的头像现在要加水印到一张图片上 弄成 圆形的 怎么裁剪呢 
    Imagick提供的有 gd库 怎么做呢

    因为要在微信中生成这个图片发送给用户 所以必须是生成这样的图片的 css的border-radius是只能显示网页中 怎么生成一个图片呢

    已找到方法

    function resize_img($url,$path='./'){
        $imgname = $path.uniqid().'.jpg';
        $file = $url;
        list($width, $height) = getimagesize($file); //获取原图尺寸
        $percent = (110/$width);
        //缩放尺寸
        $newwidth = $width * $percent;
        $newheight = $height * $percent;
        $src_im = imagecreatefromjpeg($file);
        $dst_im = imagecreatetruecolor($newwidth, $newheight);
        imagecopyresized($dst_im, $src_im, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
        imagejpeg($dst_im, $imgname); //输出压缩后的图片
        imagedestroy($dst_im);
        imagedestroy($src_im);
        return $imgname;
    }
    
    function test($url,$path='./'){  
            $w = 132;  $h=132; // original size  微信默认头像大小 高132,宽132
            $original_path= $url;  
            $dest_path = $path.uniqid().'.png';  
            $src = imagecreatefromstring(file_get_contents($original_path));  
            $newpic = imagecreatetruecolor($w,$h);  
            imagealphablending($newpic,false);  
            $transparent = imagecolorallocatealpha($newpic, 0, 0, 0, 127);  
            $r=$w/2;  
            for($x=0;$x<$w;$x++)  
                for($y=0;$y<$h;$y++){  
                    $c = imagecolorat($src,$x,$y);  
                    $_x = $x - $w/2;  
                    $_y = $y - $h/2;  
                    if((($_x*$_x) + ($_y*$_y)) < ($r*$r)){  
                        imagesetpixel($newpic,$x,$y,$c);  
                    }else{  
                        imagesetpixel($newpic,$x,$y,$transparent);  
                    }  
                }  
            imagesavealpha($newpic, true);  
            imagepng($newpic, $dest_path);  
            imagedestroy($newpic);  
            imagedestroy($src);  
           // unlink($url);  
            return $dest_path;  
        }  

     

     

     

     转载:https://segmentfault.com/q/1010000007501202

  • 相关阅读:
    高价格快消品终端制胜的七大“法宝”
    欧美零售商的全渠道实践
    如何做好IT项目启动阶段的管理
    项目进度管理的三大软技巧
    如何建立生鲜商品的组织结构和采购渠道
    生鲜关注点和注意点
    超市基本业务介绍
    chrome开发配置(四)生成项目及配置库引用
    chrome开发配置(三)安装开发工具
    chrome开发配置(二)获取源代码
  • 原文地址:https://www.cnblogs.com/yehuisir/p/13272279.html
Copyright © 2020-2023  润新知