今天在用世界上最好的编程语言开发时,遇到一个业务需求:将正方形图片切成圆形、长方形图片切成椭圆形,切去的部分设置成透明,然后保存成png。 例如OSC上我的头像是左边的正方形,要切成右边的圆形图片。 PHP中图像处理库有GD、Imagick等,我个人喜欢GD的分隔,在PHP中使用对象有点脱裤子放屁——多此一举的感觉。不过网络上倒普遍推荐使用Imagick等其他库,认为GD库效率太低。 不过,针对本文的问题,GD库并没有提供现成Round Corners的方法,Stack Overflow上倒有人提供了自己的实现版本。不过,相比PHP的面向对象,我更厌恶大段的代码,既然Imagick中有现成的方法,那我就不客气地拿来主义了: header('Content-Type: image/png');$image = new Imagick('http://static.codeweblog.com/uploads/user/29/58387_100.jpg');$image->setImageFormat('png');$image->roundCorners($image->getImageWidth() / 2, $image->getImageHeight() / 2);echo $image;$image->destroy();
发布于:2016年06月16日
已被阅读次
- 最新发布
- linux下svn提交忽略某些文件... (173)
- 使用批处理来批量更新、提交SVN... (136)
- linux查看目录文件大小命令 (145)
- linux tar打包压缩排除某个... (134)
- Linux tar压缩和解压 (192)
- SVN子命令add用法浅析 (130)
- 热门博文
- 网友FBI探案:马蓉iPad惊人发现... (43345)
- 霍金携手俄罗斯富豪耗资1亿美元寻找外... (4747)
- 如何才能查看PHP内置函数源代码... (1209)
- 微信支付开发当前URL未注册的解决方... (574)
- 《谁为爱情买单》中的经典面试 ... (441)
- 让虚拟主机也用上SVN:适用于个人的... (395)
- 精华博文
- [推荐]Centos7 安装配置 SVN (159)
- easyswoole框架安装 (174)
- php开启pecl的支持(推荐) (157)
- 1-10个恋爱表现:男朋友爱你程度到... (164)
- 女生喜欢你的10个程度,到第六个就可... (141)
- Eclipse 没有Server选项... (211)
- 友情链接
- 我来忙 (110)