分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 教程案例

php GD 圆图 -处理成圆图片

发布时间:2023-09-06 02:11责任编辑:林大明关键词:暂无标签
 1 <?php 2 ?/** 3 ?* 处理成圆图片,如果图片不是正方形就取最小边的圆半径,从左边开始剪切成圆形 4 ?* @param ?string $imgpath [description] 5 ?* @return [type] ?????????[description] 6 ?*/ 7 ????function yuan_img($imgpath = ‘./code_png/share.jpg‘) { 8 ????????$ext ????= pathinfo($imgpath); 9 ????????$src_img = null;10 ????????switch ($ext[‘extension‘]) {11 ????????????case ‘jpg‘:12 ????????????????$src_img = imagecreatefromjpeg($imgpath);13 ????????????????break;14 ????????????case ‘png‘:15 ????????????????$src_img = imagecreatefrompng($imgpath);16 ????????????????break;17 ????????}18 ????????$wh ?= getimagesize($imgpath);19 ????????$w ??= $wh[0];20 ????????$h ??= $wh[1];21 ????????$w ??= min($w, $h);22 ????????$h ??= $w;23 ????????$img = imagecreatetruecolor($w, $h);24 ????????//这一句一定要有25 ????????imagesavealpha($img, true);26 ????????//拾取一个完全透明的颜色,最后一个参数127为全透明27 ????????$bg = imagecolorallocatealpha($img, 255, 255, 255, 127);28 ????????imagefill($img, 0, 0, $bg);29 ????????$r ??= $w / 2; //圆半径30 ????????$y_x = $r; //圆心X坐标31 ????????$y_y = $r; //圆心Y坐标32 ????????for ($x = 0; $x < $w; $x++) {33 ????????????for ($y = 0; $y < $h; $y++) {34 ????????????????$rgbColor = imagecolorat($src_img, $x, $y);35 ????????????????if (((($x - $r) * ($x - $r) + ($y - $r) * ($y - $r)) < ($r * $r))) {36 ????????????????????imagesetpixel($img, $x, $y, $rgbColor);37 ????????????????}38 ????????????}39 ????????}40 41 ????????return $img;42 }43 44 Header("Content-Type: image/png");45 imagepng(yuan_img());

php GD 圆图 -处理成圆图片

原文地址:https://www.cnblogs.com/handle/p/9529576.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved