首页 > php教程 > php手册 > 正文

智能截取图片(缩略图)

php中文网
发布: 2016-06-07 11:40:10
原创
1191人浏览过

按图片比例智能截取图片,主要还是利用tp自带的image函数实现。
/**<br>  * 居中剪裁图片<br>  * @param $img_url 图片绝对地址<br>  * @param $cut_width 裁剪宽度<br>  * @param $cut_height 采集高度<br>  * @param string $save_img_url 保存的图片绝对地址,如果为'',则覆盖掉原图片<br>  * @param bool $is_delete 当save_img_url不为空时,是否删掉原始img<br>  */<br> function imageCenterCut($img_url, $cut_width, $cut_height, $save_img_url='', $is_delete=false){<br>     $cut_width = intval($cut_width);<br>     $cut_height = intval($cut_height);<br>     $image = new \Think\Image();<br>     $image-&gt;open($img_url);<br>     $image_width = $image-&gt;width();<br>     $image_height = $image-&gt;height();<br>     //居中裁剪图片<br>     if($image_width / $image_height &gt; $cut_width / $cut_height){<br>         $image-&gt;crop(round($image_height / $cut_height * $cut_width), $image_height, round(($image_width - $image_height / $cut_height * $cut_width) / 2), 0);<br>     }else if($image_width / $image_height          $image-&gt;crop($image_width, round($image_width / $cut_width * $cut_height), 0, round(($image_height - $image_width / $cut_width * $cut_height) / 2));<br>     }else{<br>         //长宽比相同<br>         if($image_width == $cut_width){<br>             //如果长宽相等,则直接copy一份<br>             if(!empty($save_img_url)){<br>                 copy($img_url, $save_img_url);<br>                 //删掉原图<br>                 if($is_delete){<br>                     unlink($img_url);<br>                 }<br>             }<br>         }else{<br>             if(empty($save_img_url)){<br>                 $image-&gt;thumb($cut_width, $cut_height)-&gt;save($img_url);<br>             }else{<br>                 $image-&gt;thumb($cut_width, $cut_height)-&gt;save($save_img_url);<br>                 //删掉原图<br>                 if($is_delete){<br>                     unlink($img_url);<br>                 }<br>             }<br>         }<br>         return;<br>     }<br>     if(empty($save_img_url)){<br>         $image-&gt;thumb($cut_width, $cut_height)-&gt;save($img_url);<br>     }else{<br>         $image-&gt;thumb($cut_width, $cut_height)-&gt;save($save_img_url);<br>         //删掉原图<br>         if($is_delete){<br>             unlink($img_url);<br>         }<br>     }<br> }

AD:真正免费,域名+虚机+企业邮箱=0元

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
热门推荐
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号