首页 > 编程 > PHP > 正文

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

2020-03-22 18:52:48
字体:
来源:转载
供稿:网友
本篇文章给大家带来的内容是关于php使用GD库将正方形图片变成圆形图片的方法(代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

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

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

<?php    $path = "";//文件绝对路径    $this->yuanjio($path);     /*     * 将图片切成圆角     */    html' target='_blank'>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库将正方形图片变成圆形图片的方法(代码)的详细内容,更多请关注 其它相关文章!

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表