php 将图片裁剪成圆形图片,裁剪图片为圆形
```
/**
* 处理圆角图片
* @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 将图片裁剪成圆形图片,裁剪图片为圆形相关推荐
- 转 把GIF图片转换成单个连续的图片 转 tif 等任意多帧图片转换bmp 或者gif等格式...
为什么80%的码农都做不了架构师?>>> 转 把GIF图片转换成单个连续的图片 转 tif 等任意多帧图片转换bmp 或者gif等格式 using System; using ...
- 仿抖音--将图片转化成对应的字符图片
起初看到抖音上的那个将图片转化成对应的字符图片的视频,心动不已,哇!这哥们也太有心了吧,虽说莉哥好看,但你做这图要花多长时间呀!值不值啊! 后来我才知道,java实现的话简直一秒钟的事. 第一开始只能 ...
- [批量重命名工具] 批量图片识别文字来命名文件名,很多网友想看批量图片识别成文字,用图片上的文字来修改文件名,今天它来了
很多网友想看批量图片识别成文字,用图片上的文字来修改文件名,今天他来了 因为不解决就得手动挨个挨个输入然后把文件命名好 今天又一个文件需求是这样的 图上有姓名文字,要识别出来改成每一张图跟这个一样,有 ...
- python脚本编程——将批量的长方形图片切割成多个正方形图片
简介 在处理.mat文件得到图片(bmp)时,转成的图片尺寸大小与.mat文件有关.两个特征的.mat文件分别是1294*86和1294*128大小.这也是两个文件中的图片大小,由于模型输入需要的是批 ...
- 「Python|图像处理|场景案例」如何将彩色图片转成黑白的灰度图片?
本文主要介绍如何使用python将彩色图片转换成黑白的灰度图片. 文章目录 场景描述 解决方案 具体代码 场景描述 假设我们现在有如下一张彩色图片: 我们希望将它转换成黑白图片,如下: 解决方案 将彩 ...
- java png 转jpg_怎么用java将png图片转换成jpg格式的图片
png是一种背景透明格式的图片,大量用于网络上,保真性很好,JPG是压缩图片,占用空间少.但有一些失真,所以在将png图片转换成jpg图片之后,肯定是有一些差异的,毕竟这是两种不同的格式. 下面用一个 ...
- html本地路径图片转成base64,canvas-toDataURL()将图片转为dataURL(base64)
将图片转为base64的好处 将图片转换为Base64编码,可以让你很方便地在没有上传文件的条件下将图片插入其它的网页.编辑器中. 这对于一些小的图片是极为方便的,因为你不需要再去寻找一个保存图片的地 ...
- 长图片切割成多个小图片----python实现
在上一篇文章发表提纲时,发现图片的分辨率过于高,从而导致大小超过5M无法上传,发现网上大多要收费或者限制大小,因此自己用python写了切割器对长图进行切割.注意本程序是将一整个图片横向切开,切成多份 ...
- Android 将一张CMYK模式的图片转换成RGB模式的图片
Android系统是不能够显示打印模式(CMYK)的图片的.所以要在Andorid设备下显示CMYK模式的图片我得做法是将其转换成RGB模式的图片,但是通过转换颜色丢失比较大,如果大家有好的办法欢迎指 ...
- python 将图片切割成固定大小的图片脚本
将像素很大的图片切割成固定大小的多张图片,代码如下: import numpy as np import matplotlib import os from PIL import Imagedef i ...
最新文章
- oracle jdedward,Oracle JDEdwards EnterpriseOne Tools任意文件上传漏洞(CVE-2011-2317)
- 物联网运营关键技术、终端、发展及运营前景
- “fatal: refusing to merge unrelated histories” Git error
- 【cornerstoneTools】【vue】使用cornerstoneTools搭建标注系统相关代码
- 去除NSLog时间戳及其他输出信息
- 一键环境安装包无法修改网站目录提示.user.ini权限问题解决方法
- Xcode6中自动布局autolayout和sizeclass的使用
- 二、Vue菜鸟小教程-vue-router的简单入门程序
- 传奇登陆游戏黑屏错位以及登陆器配置和常见问题
- 秒懂---LDA算法
- pytorchOCR之CRNN
- 企业级代码静态测试工具Helix QAC——技术规格
- JavaScript大师Nicholas C. Zakas又一大作出中文版了
- deepin-wine下微信升级到最新版方法
- 麻省理工学院公开课:信号与系统:模拟与数字信号处理 调幅演示
- 京东商城ContainerLB实践
- ActiveMQ系列—ActiveMQ中的Queue和Topics
- 浙江电信IPTV+上网 Padavan老毛子固件单线复用
- innodb buffer pool管理--free list
- 非零基础自学Golang 第17章 HTTP编程(上) 17.3 爬虫框架gocolly 17.3.1 gocolly简介
热门文章
- java 使用XmlPullParser解析Excel2007中日期格式的转换
- 为Linux的cp和mv命令添加进度条
- “数字乡民”疑云:助农?坑农?
- Openai神作Dalle2理论和代码复现
- 项目资源管理从学会向上管理开始
- 关闭Windows Defender,开机不启动
- 自如站在风口浪尖,长租公寓没有未来?
- 我的世界酷牛选java_我的世界 / 常见问答 - 酷牛云™ 游戏服务器帮助中心
- 【Python脚本进阶】2.3、利用FTP与Web批量抓“ 肉机”(中):使用Ftplib暴力破解FTP用户口令
- 数据结构【数组和特殊矩阵】