(codeIgniter框架为基础)/*** 获取网络图内容* @param $url  网络图片url* @return bool*/function http_get_data($url){$ch = curl_init();curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET');curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);curl_setopt($ch, CURLOPT_URL, $url);ob_start();curl_exec($ch);$return_content = ob_get_contents();ob_end_clean();$return_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);return $return_content;}/*** 获取网络图片类型* @param $url  网络图片url,支持不带后缀名url* @return bool*/private function getNetworkImgType($url){$ch = curl_init(); //初始化curlcurl_setopt($ch, CURLOPT_URL, $url); //设置需要获取的URLcurl_setopt($ch, CURLOPT_NOBODY, 1);curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 3);//设置超时curl_setopt($ch, CURLOPT_TIMEOUT, 3);curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); //支持httpscurl_exec($ch);//执行curl会话$http_code = curl_getinfo($ch);//获取curl连接资源句柄信息curl_close($ch);//关闭资源连接if ($http_code['http_code'] == 200) {$theImgType = explode('/', $http_code['content_type']);if ($theImgType[0] == 'image') {return $theImgType[1];} else {return false;}} else {return false;}}/*** 生成图片文件流* @param $file  网络图片地址* @return bool*/function createImageFromFile($file){if (preg_match('/http(s)?:\/\//', $file)) {$fileSuffix = $this->getNetworkImgType($file);} else {$fileSuffix = pathinfo($file, PATHINFO_EXTENSION);}if (!$fileSuffix) return false;switch ($fileSuffix) {case 'jpeg':if (!strpos($file, 'qnimg.ruwii.com') && !strpos($file, 'upload')) {// imagecreatefromstring:从字符串中的图像流新建一图像, 返回一个图像标识符,其表达了从给定字符串得来的图像$theImage = @imagecreatefromstring($this->http_get_data($file));} else {$theImage = @imagecreatefromjpeg($file);if (!$theImage) {$theImage = @imagecreatefromstring($this->http_get_data($file));}}break;case 'jpg':if (!strpos($file, 'qnimg.ruwii.com') && !strpos($file, 'upload')) {$theImage = @imagecreatefromstring($this->http_get_data($file));} else {$theImage = @imagecreatefromjpeg($file);if (!$theImage) {$theImage = @imagecreatefromstring($this->http_get_data($file));}}break;case 'png':if (!strpos($file, 'qnimg.ruwii.com') && !strpos($file, 'upload')) {$theImage = @imagecreatefromstring($this->http_get_data($file));} else {$theImage = @imagecreatefrompng($file);if (!$theImage) {$theImage = @imagecreatefromstring($this->http_get_data($file));}}break;case 'gif':if (!strpos($file, 'qnimg.ruwii.com') && !strpos($file, 'upload')) {$theImage = @imagecreatefromstring($this->http_get_data($file));} else {$theImage = @imagecreatefromgif($file);if (!$theImage) {$theImage = @imagecreatefromstring($this->http_get_data($file));}}break;default:$theImage = @imagecreatefromstring($this->http_get_data($file));break;}return $theImage;}/*** 将图片切割为圆形* @param imgpath 图片地址(可以为网络地址,也可以为本地图片)* @return bool*/function changeCircularImg($imgpath){$src_img = null;//如果$imgpath为网络地址$src_img = $this->createImageFromFile($imgpath);//如果如果$imgpath为本地图片地址//$src_img = @imagecreatefromstring(file_get_contents($imgpath));(已经测试可用)$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);imagesavealpha($img , true);$r = $w / 2;//圆半径$y_x = $r; //圆心X坐标$y_y = $r; //圆心Y坐标for ($x = 0; $x < $w;$x++) {for ($y = 0; $y < $h; $y++) {$rgbColor = imagecolorat($src_img, $x,$y);//根据数学公式圆的计算方式 算的 (x-r)(x-r)+(y-r)(y-r)=r*r (x,y坐标点 r半径)if (((($x - $r) * ($x - $r) + ($y - $r) * ($y - $r)) < ($r * $r))) {imagesetpixel($img, $x, $y, $rgbColor);}}}return $img;}

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

  1. android 圆形裁剪,Android中将图片裁剪成圆形的方法

    直接上代码吧,如果需要拍照或者从相册中选择图片的功能,推荐一个开源库,用起来很方便 http://www.jianshu.com/p/35ce3b82773e //裁剪图片的第三方库http://ww ...

  2. ios 将矩形图片裁剪成圆形图片

    在ios中将一个正方形的图片裁剪成圆形的图片是一件非常容易的事情, 直接设置 imageView.layer.cornerRadius 这个属性, 再设置 imageView.clipsToBound ...

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

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

  4. iOS 把图片裁剪成圆形

    原图: 圆形图片裁剪效果: 裁剪成带边框的圆形图片: 核心代码: #import <UIKit/UIKit.h>@interface UIImage (image)/*** 生成一张圆形图 ...

  5. JAVA中将图片转化为圆形图片

    /** * 将图片处理为圆形图片 * 传入的图片必须是正方形的才会生成圆形 如果是长方形的比例则会变成椭圆的 *  * @param url * @return */ public BufferedI ...

  6. ios 图片裁剪-制作圆形QQ头像

    /**  *  图片裁剪  裁剪原理:  先在控制器上确定一个区域,然后再把需要裁剪的图片放在该区域上面,超出区域的图片都不显示  *  *  @param rect  */ -(void) draw ...

  7. 图片裁剪与圆角半径设置(将图片裁剪为圆形)

    如上: 需求:将左边图片改变为右边的图形 1.鼠标右键--用"裁剪图片",将图片裁剪为正方形 2.在"元件属性与样式"---样式---圆角半径,将圆角半径设置为 ...

  8. php方行图片裁剪为圆形,如何将图片裁成圆形、矩形……各种形状?

    做简历的头像.PPT中的图片--经常会想要让图片变成圆形,或对图片进行下裁剪,去掉多余部分,让图片更完美.创客贴有三种方式. 01. 图片吸附框 平台上提供的特色素材之一,可以在设计页左侧的" ...

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

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

  10. php 将图片裁剪成圆形图片,裁剪图片为圆形

    ``` /** * 处理圆角图片 * @param srting $imgpath 源图片的路径 * @return [type] [description] */ public function r ...

最新文章

  1. python变量类型之间转换_Python变量赋值类型转换
  2. 解决警告inconsistent dll linkage
  3. swagger2 集成无效_Springboot2 集成Swagger2,解决配置完成后不显示的坑
  4. 【计算机网络】网络层 : OSPF 协议 ( 协议简介 | 链路状态路由算法 | OSPF 区域 | OSPF 特点 )
  5. lamp mysql大小限制_[转]LAMP 系统性能调优,第 3 部分: MySQL 服务器调优
  6. oracle group by用法_从OceanBase TPCC测试报告看ORACLE兼容性进展
  7. rm -rf ~/.bashrc 的惨痛教训
  8. java 基础知识面试题(持续更新),java基础面试笔试题
  9. 一个人生活可以多痛快
  10. 20165329 学习基础和c语言调查
  11. astc贴图格式是什么意思_SP多象限UV贴图的使用方法!
  12. 控件多线程访问的问题
  13. 学术族谱典型用户及典型场景模拟
  14. python解决乱码转成中文
  15. Python第二阶段学习 day17
  16. 用网线给服务器装系统,只用网线从零开始安装系统
  17. python 小说分析_Python自然语言用金庸的武侠小说做分析和处理
  18. 群晖nas介绍文档_群晖 NAS 选购 入门指南:动手打造自己的家庭数据中心
  19. pyqt5 pyqt5+opencv 实现读取视频数据
  20. 适合程序员的耳机_有没有适合程序员打代码时用的耳机推荐?

热门文章

  1. 最优传输理论与计算 ——雷娜 顾险峰 【新书发布】
  2. CSS3 - 新单位vw、vh、vmin、vmax使用详解(附样例)
  3. C盘系统文件提示损坏怎么办?系统文件损坏怎么修复
  4. 互联网盈利模式,网络策划运营模式
  5. 计算机2进制、4进制、8进制、10进制、16进制、32进制计算规则
  6. Hexo添加小部件(Butterfly主题) 日历
  7. SQL Server - 无法将数据库从SINGLE_USER模式切换回MULTI_USER模式(Error 5064)
  8. cocos2d-x开源游戏引擎,C++开发iphone/android/uphone/win32游戏
  9. 数资问题【抽屉问题】
  10. H5C3第二个完整大项目————天猫国际首页跳转登录页