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

智能截取图片(缩略图)

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

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

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

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

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

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

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