PHP把图片转换成圆形png(头像处理)

南国老符 南国老符 最后更新于:2022-04-23 浏览:809

PHP头像处理:把图片转换成圆形png,代码如下:

/* 
 * @fun 图片转换成圆形png,传入源路径和转换后的路径,均用相对于当前程序文件的路径
 * @memo 对于非正方形的图片,以短边作为图片的直径
 * @param string $src 源路径
 * @param string $dst 转换后的路径
 * @return void
 * @call z_image2circle("circleimage.jpg", './circleimage-'.uniqid().'.png');
 */
function z_image2circle($src, $dst){

    //获取原图尺寸,并设置新图片的宽度和高度
    list($w, $h) = getimagesize($src); 
    if( $w > $h ){
        $w = $h;
    }else{
        $h = $w;
    }
    
    $oimgSrc = imagecreatefromstring(file_get_contents($src));
    $oimgDst = imagecreatetruecolor($w, $h);
    imagealphablending($oimgDst,false);
    $transparent = imagecolorallocatealpha($oimgDst, 0, 0, 0, 127);
    $r=$w/2;
    for($x=0;$x<$w;$x++){
        for($y=0;$y<$h;$y++){  
            $c = imagecolorat($oimgSrc,$x,$y);
            $_x = $x - $w/2;
            $_y = $y - $h/2;
            if((($_x*$_x) + ($_y*$_y)) < ($r*$r)){  
                imagesetpixel($oimgDst,$x,$y,$c);
            }else{  
                imagesetpixel($oimgDst,$x,$y,$transparent);
            }
        }
    }
    imagesavealpha($oimgDst, true);
    imagepng($oimgDst, $dst);
    imagedestroy($oimgDst);
    imagedestroy($oimgSrc);
}

转载自:
PHP把图片转换成圆形png(头像处理):http://www.splaybow.com/post/php-circle-81514.html


点赞 (0)

收藏 (0)
转载请务必注明: 来源:《建站管家》https://www.df81.com/news/297.html

本站部分信息来源网络,如有侵权,请联系QQ:1062129401删除。

上一篇: php处理缩放png图片由透明背景变成黑色的解决方法

下一篇: uni-app永久保存下载文件uni.downloadFile和uni.saveFile

请先登录后,再发表评论 ~ ~
发表评论
评论 (0)

发表帖子
广告位招租( ¥5 / 天 )
点击咨询
最新帖子

南国老符
2025-05-26 16:54
南国老符
2024-09-29 10:29
南国老符
2023-12-15 21:41
广告位招租( ¥5 / 天 )
点击咨询
最近评论

U
user1379
回复:版本号多少?
U
user1379
回复:新版本修复了,下载新版本即可
U
user1379
U
user1304
回复:默认没有这个功能,你可以自行二次开发后期可能会考虑在站群版本上加入此功能及商城功能
Y
yuanis90
回复:后台->语言->全局管理->模型管理->编辑->启用关键词内链即可
Y
yuanis90
回复:后台已经启用了,但是前台产品说明的关分键词还是没有自动链接到,
购买VIP
购买授权
余额充值
发表帖子
客服微信