• 技术文章 >后端开发 >php教程

    php使用GD库将正方形图片变成圆形图片的方法(代码)

    不言不言2018-08-20 15:48:43原创3563
    本篇文章给大家带来的内容是关于php使用GD库将正方形图片变成圆形图片的方法(代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

    当我们获取到微信头像时,我们抓取下来会发现是正方形,但是现实中我们一般都是用圆形的。

    以下我将介绍用php 原生GD库,将图片抓取下来后切成圆角,其实代码很简单,所以就直接是上代码了

    <?php
        $path = "";//文件绝对路径
        $this->yuanjio($path);
         /*
         * 将图片切成圆角
         */
        public function yuanjiao($imgpath){
            $ext     = pathinfo($imgpath);
            $src_img = null;
            switch ($ext['extension']) {
                case 'jpg':
                    $src_img = imagecreatefromjpeg($imgpath);
                    break;
                case 'png':
                    $src_img = imagecreatefrompng($imgpath);
                    break;
            }
            $wh  = getimagesize($imgpath);
            $w   = $wh[0];
            $h   = $wh[1];
            $w   = min($w, $h);
            $h   = $w;
            $img = imagecreatetruecolor($w, $h);
            //这一句一定要有
            imagesavealpha($img, true);
            //拾取一个完全透明的颜色,最后一个参数127为全透明
            $bg = imagecolorallocatealpha($img, 255, 255, 255, 127);
            imagefill($img, 0, 0, $bg);
            $r   = $w / 2; //圆半径
            $y_x = $r; //圆心X坐标
            $y_y = $r; //圆心Y坐标
            for ($x = 0; $x < $w; $x++) {
                for ($y = 0; $y < $h; $y++) {
                    $rgbColor = imagecolorat($src_img, $x, $y);
                    if (((($x - $r) * ($x - $r) + ($y - $r) * ($y - $r)) < ($r * $r))) {
                        imagesetpixel($img, $x, $y, $rgbColor);
                    }
                }
            }
            return $img;
        }

    相关推荐:

    PHP中使用GD库创建圆形饼图的例子,gd圆形

    基于GD2图形库的PHP生成图片缩略图类代码分享,

    以上就是php使用GD库将正方形图片变成圆形图片的方法(代码)的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:php
    上一篇:php微信的新增永久素材的详细介绍(基本流程) 下一篇:php使用GD库实现图片上添加文字的方法(代码)
    VIP课程(WEB全栈开发)

    相关文章推荐

    • 【活动】充值PHP中文网VIP即送云服务器• 使用GD库生成带阴影文字的图片_php技巧• php基于GD库画五星红旗的方法_php技巧• PHP GD库生成图像的几个函数总结_php技巧• PHP基于GD库的缩略图生成代码(支持jpg,gif,png格式)_php实例• php生成缩略图示例代码分享(使用gd库实现)_php实例
    1/1

    PHP中文网