如果只是想给图片加一个圆角可以参考下面文章

用到的php gd库函数有

imagecolorat

imagesetpixel

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

原图如下:

处理过之后效果:

注意圆色后面的白色为透明的,这里因为上传文件而变成啦白啦的/**

*  blog:http://www.zhaokeli.com

* 处理成圆图片,如果图片不是正方形就取最小边的圆半径,从左边开始剪切成圆形

* @param  string $imgpath [description]

* @return [type]          [description]

*/

function yuan_img($imgpath = './tx.jpg') {

$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

for ($y = 0; $y

$rgbColor = imagecolorat($src_img, $x, $y);

if (((($x - $r) * ($x - $r) + ($y - $r) * ($y - $r))

imagesetpixel($img, $x, $y, $rgbColor);

}

}

}

return $img;

}

header("content-type:image/png");

$imgg = yuan_img();

imagepng($imgg);

imagedestroy($imgg);

原理如图

用以下公式计算

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

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

x,y为当前的坐标

a,b为圆的圆心位置

r为半径

先创建一张透明的图片,

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

用php画一个蓝底红色的圆_php把图片处理成圆形透明的头像相关推荐

  1. 用php画一个蓝底红色的圆_php 怎么画一个圆?

    这篇文章主要介绍了php绘制圆形的方法,详细分析了php绘制图形的基本步骤与绘制圆形的实现方法,需要的朋友可以参考下 本文实例讲述了php绘制圆形的方法.分享给大家供大家参考.具体实现方法如下: ph ...

  2. 用php画一个蓝底红色的圆_PHP 画出 透明背景 的 圆形 图片程序

    PHP 想要用 GD 来画出圆形.椭圆形等等的图形,该怎么画呢?背景想要是透明的,要怎么做呢? PHP 画出 透明背景 的 圆形 图片程序 这边来示范下述: 图片画出 圆形 和 椭圆形 画两个不同的圆 ...

  3. 用python的opencv库在图片上画出蓝底黑字的文本框

    以下是使用Python的OpenCV库实现在图片上绘制的示例代码: import cv2# 读入图片 img = cv2.imread('example.jpg')# 在图片上绘制红色矩形框 cv2. ...

  4. php 将图片截取成3张,【php】php gd库怎么把一个图片裁剪成圆形的

    微信的头像现在要加水印到一张图片上 弄成 圆形的 怎么裁剪呢 Imagick提供的有 gd库 怎么做呢 因为要在微信中生成这个图片发送给用户 所以必须是生成这样的图片的 css的border-radi ...

  5. gd剪裁圆形图片 php_php gd库怎么把一个图片裁剪成圆形的

    微信的头像现在要加水印到一张图片上 弄成 圆形的 怎么裁剪呢 Imagick提供的有 gd库 怎么做呢 因为要在微信中生成这个图片发送给用户 所以必须是生成这样的图片的 css的border-radi ...

  6. 如何把一个图片裁剪成圆形

    1.有的时候,为了工作的需要,需要吧图片裁剪成圆形.我们一般有两种思路:让承载image的ImageView变成圆形,或者把图片变成圆形. A:通过image的mask 来操作.需要添加mask目标图 ...

  7. python中怎么画一个机器猫_如何用Python画一只机器猫?

    作者 | 人邮异步社区 责编 | 胡巍巍 出品 | CSDN博客 自信心是成功的源泉,对刚入门编程行业的初级程序员来说,多敲代码多做项目就是构建自信心的最好办法. 第一次学编程是在屏幕上敲出" ...

  8. 怎样将蓝底照片换成白底

    方法:美图秀秀 + java程序. 原来的照片是这样的: 1. 先用美图秀秀将面积较大的蓝底以及边缘比较光滑的部分先刷成白色,或者抠出来都行. 2. 用java程序将边缘部分的蓝色调替换成白色,代码如 ...

  9. 【C++】教你如何在中秋节给家人们画一个星空

    前言 将至中秋,想必大家都想给自己的家人们一个惊喜吧!今天就手把手地教大家如何用C++和Easyx画一个星空. (效果图:) 一.准备Easyx 首先我们要前往Easyx官网下载安装程序, 下载完成后 ...

最新文章

  1. 图片来源html,HTML图片(Images)
  2. python字典通过键值获取键名,通过value获取key
  3. 定制圆角带背景色的矩形边框
  4. 在同一个Linux上配置多个git账户
  5. Linux常用命令大全--有关磁盘空间的命令
  6. 动手造轮子:实现一个简单的依赖注入(一)
  7. python灰色关联度分析代码_灰色关联分析法步骤 - osc_uwnmtz9n的个人空间 - OSCHINA - 中文开源技术交流社区...
  8. RabbitMq(九) SpringBoot整合RabbitMQ消费者示例代码
  9. sql语句和java的关系_java中Statement 与 PreparedStatement接口之间的关系和区别
  10. sqlalchemy mysql_小窍门:为MySQL和Pandas准备的SQLAlchemy
  11. HDOJ2024C语言合法标识符
  12. P3 吴恩达推荐笔记:22张图总结深度学习全部知识
  13. 使用expect编写脚本
  14. vue 项目安装 (入门)
  15. B. DZY Loves Modification
  16. 电子游戏发展史话——《doom启示录》读后感(三)
  17. c语言stdio函数大全,初学者常用的stdio库,原来还有这么多知识点
  18. 看小伙是如何用python尽览我国植被覆盖率的沧海变化
  19. 关于电脑登录微信会出现闪(跳)黑屏的处理办法
  20. c语言中order函数,C语言order的用法

热门文章

  1. 【数理知识】《数值分析》李庆扬老师-第2章-插值法
  2. 1.9 归一化输入-深度学习第二课《改善深层神经网络》-Stanford吴恩达教授
  3. 解决HierarchyViewer不能连接真机的问题
  4. Linux数据报文接收发送总结1
  5. keil 多文件组织方法
  6. 自动驾驶汽车想成为主流?先过了这十二关再说
  7. JVM规范系列第2章:Java虚拟机结构
  8. JSP完全自学手册图文教程
  9. Struts2配置文件【代码库】
  10. [leetcode-412-Fizz Buzz]