[PHP]把图片切成圆形大屏查看

发布于:2016年06月16日 已被阅读

今天在用世界上最好的编程语言开发时,遇到一个业务需求:将正方形图片切成圆形、长方形图片切成椭圆形,切去的部分设置成透明,然后保存成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();



最新发布
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)