千家信息网

php如何将图片设置为圆形图片

发表于:2025-01-16 作者:千家信息网编辑
千家信息网最后更新 2025年01月16日,这篇文章主要讲解了"php如何将图片设置为圆形图片",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"php如何将图片设置为圆形图片"吧!php将图片设置为
千家信息网最后更新 2025年01月16日php如何将图片设置为圆形图片

这篇文章主要讲解了"php如何将图片设置为圆形图片",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"php如何将图片设置为圆形图片"吧!

php将图片设置为圆形图片的方法:1、创建一个PHP示例文件;2、创建一张透明的图片;2、通过"function yuan_img($imgpath) {...}"方法把图片处理成圆形即可。

本文操作环境:windows7系统、PHP7.1版、DELL G3电脑

php怎么将图片设置为圆形图片?

php 图片圆形化处理:

用到的php gd库函数有

imagecoloratimagesetpixel

首先是把图片处理成圆形的:

原图如下:


处理过之后效果:

用以下公式计算

(x-a)*(x-a)+(y-b)*(y-b)

公式成立说明当前x,y点在圆内

x,y为当前的坐标

a,b为圆的圆心位置

r为半径

先创建一张透明的图片,

然后一行一行的扫描原图如图像素点在圆内就画出这个像素不在的就保持透明色就可以

function yuan_img($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如何将图片设置为圆形图片"的内容了,经过本文的学习后,相信大家对php如何将图片设置为圆形图片这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!

0