```

/**

* 处理圆角图片

* @param srting $imgpath 源图片的路径

* @return [type] [description]

*/

public function roundedCorners($imgpath){

list($width,$height,$type) = getimagesize($imgpath);//获取上传图片大小

if ($width != $height) {//如果上传图片不是正方形,取最小宽度作为最终生成图的大小

if ($width > $height) {

$imsize = $height;

} else {

$imsize = $width;

}

}else{

$imsize = $width;

}

$im = imagecreatetruecolor($imsize, $imsize);//这里创建第一个图像

$white = imagecolorallocate($im, 255, 255, 255);// 随便取两个颜色,这里取黑色和白色

$black = imagecolorallocate($im, 0, 0, 0);

imagefill($im, 0, 0, $white);//将图片填充为白色

imagefilledellipse($im, $imsize/2, $imsize/2, $imsize, $imsize, $black);//然后再图片中间画一个黑色的圆

imagecolortransparent($im, $black);//将黑色设为透明的,则现在四个角是白色的,然后中间是透明的

switch ($type) {

case '2':

$img = imagecreatefromjpeg($imgpath);//这里创建的是第二个图像

break;

default:

$img = imagecreatefrompng($imgpath);//这里创建的是第二个图像

break;

}

$final = imagecreatetruecolor($imsize, $imsize);//再创建一个图像,第三个图像

imagecopyresampled($final, $img, 0, 0, ($width-$imsize)/2, ($height-$imsize)/2, $imsize, $imsize, $imsize, $imsize);//先将第二个图像(图片)压在空白的图像上,根据最小宽度,居中裁剪,成为第四个图像

imagecopymerge($final, $im, 0, 0, 0, 0, $imsize, $imsize, 100);//再将第一个图像压在第四个图像上,由于中间是透明的,所以现在图像上中间是图片,四个角都是白色的,第五个图

imagecolortransparent($im, $white);//然后将白色设置为透明的,现在这个图四个角是透明的,然后中间是黑色的

imagecopymerge($im, $final, 0, 0, 0, 0, $imsize, $imsize, 100);//将第五个图压在最后的图像上,就可以得到最后的圆形的图了

imagepng($im, './poster/u2222.png');

//imagepng($im, '图片路径');

//dump($im);//返回图片

return './poster/u2222.png';

}

```

[链接](https://www.jianshu.com/p/6eb141eed335)

php 将图片裁剪成圆形图片,裁剪图片为圆形相关推荐

  1. 转 把GIF图片转换成单个连续的图片 转 tif 等任意多帧图片转换bmp 或者gif等格式...

    为什么80%的码农都做不了架构师?>>>    转 把GIF图片转换成单个连续的图片 转 tif 等任意多帧图片转换bmp 或者gif等格式 using System; using ...

  2. 仿抖音--将图片转化成对应的字符图片

    起初看到抖音上的那个将图片转化成对应的字符图片的视频,心动不已,哇!这哥们也太有心了吧,虽说莉哥好看,但你做这图要花多长时间呀!值不值啊! 后来我才知道,java实现的话简直一秒钟的事. 第一开始只能 ...

  3. [批量重命名工具] 批量图片识别文字来命名文件名,很多网友想看批量图片识别成文字,用图片上的文字来修改文件名,今天它来了

    很多网友想看批量图片识别成文字,用图片上的文字来修改文件名,今天他来了 因为不解决就得手动挨个挨个输入然后把文件命名好 今天又一个文件需求是这样的 图上有姓名文字,要识别出来改成每一张图跟这个一样,有 ...

  4. python脚本编程——将批量的长方形图片切割成多个正方形图片

    简介 在处理.mat文件得到图片(bmp)时,转成的图片尺寸大小与.mat文件有关.两个特征的.mat文件分别是1294*86和1294*128大小.这也是两个文件中的图片大小,由于模型输入需要的是批 ...

  5. 「Python|图像处理|场景案例」如何将彩色图片转成黑白的灰度图片?

    本文主要介绍如何使用python将彩色图片转换成黑白的灰度图片. 文章目录 场景描述 解决方案 具体代码 场景描述 假设我们现在有如下一张彩色图片: 我们希望将它转换成黑白图片,如下: 解决方案 将彩 ...

  6. java png 转jpg_怎么用java将png图片转换成jpg格式的图片

    png是一种背景透明格式的图片,大量用于网络上,保真性很好,JPG是压缩图片,占用空间少.但有一些失真,所以在将png图片转换成jpg图片之后,肯定是有一些差异的,毕竟这是两种不同的格式. 下面用一个 ...

  7. html本地路径图片转成base64,canvas-toDataURL()将图片转为dataURL(base64)

    将图片转为base64的好处 将图片转换为Base64编码,可以让你很方便地在没有上传文件的条件下将图片插入其它的网页.编辑器中. 这对于一些小的图片是极为方便的,因为你不需要再去寻找一个保存图片的地 ...

  8. 长图片切割成多个小图片----python实现

    在上一篇文章发表提纲时,发现图片的分辨率过于高,从而导致大小超过5M无法上传,发现网上大多要收费或者限制大小,因此自己用python写了切割器对长图进行切割.注意本程序是将一整个图片横向切开,切成多份 ...

  9. Android 将一张CMYK模式的图片转换成RGB模式的图片

    Android系统是不能够显示打印模式(CMYK)的图片的.所以要在Andorid设备下显示CMYK模式的图片我得做法是将其转换成RGB模式的图片,但是通过转换颜色丢失比较大,如果大家有好的办法欢迎指 ...

  10. python 将图片切割成固定大小的图片脚本

    将像素很大的图片切割成固定大小的多张图片,代码如下: import numpy as np import matplotlib import os from PIL import Imagedef i ...

最新文章

  1. oracle jdedward,Oracle JDEdwards EnterpriseOne Tools任意文件上传漏洞(CVE-2011-2317)
  2. 物联网运营关键技术、终端、发展及运营前景
  3. “fatal: refusing to merge unrelated histories” Git error
  4. 【cornerstoneTools】【vue】使用cornerstoneTools搭建标注系统相关代码
  5. 去除NSLog时间戳及其他输出信息
  6. 一键环境安装包无法修改网站目录提示.user.ini权限问题解决方法
  7. Xcode6中自动布局autolayout和sizeclass的使用
  8. 二、Vue菜鸟小教程-vue-router的简单入门程序
  9. 传奇登陆游戏黑屏错位以及登陆器配置和常见问题
  10. 秒懂---LDA算法
  11. pytorchOCR之CRNN
  12. 企业级代码静态测试工具Helix QAC——技术规格
  13. JavaScript大师Nicholas C. Zakas又一大作出中文版了
  14. deepin-wine下微信升级到最新版方法
  15. 麻省理工学院公开课:信号与系统:模拟与数字信号处理 调幅演示
  16. 京东商城ContainerLB实践
  17. ActiveMQ系列—ActiveMQ中的Queue和Topics
  18. 浙江电信IPTV+上网 Padavan老毛子固件单线复用
  19. innodb buffer pool管理--free list
  20. 非零基础自学Golang 第17章 HTTP编程(上) 17.3 爬虫框架gocolly 17.3.1 gocolly简介

热门文章

  1. java 使用XmlPullParser解析Excel2007中日期格式的转换
  2. 为Linux的cp和mv命令添加进度条
  3. “数字乡民”疑云:助农?坑农?
  4. Openai神作Dalle2理论和代码复现
  5. 项目资源管理从学会向上管理开始
  6. 关闭Windows Defender,开机不启动
  7. 自如站在风口浪尖,长租公寓没有未来?
  8. 我的世界酷牛选java_我的世界 / 常见问答 - 酷牛云™ 游戏服务器帮助中心
  9. 【Python脚本进阶】2.3、利用FTP与Web批量抓“ 肉机”(中):使用Ftplib暴力破解FTP用户口令
  10. 数据结构【数组和特殊矩阵】