php居中裁剪图片

  /**
     * 
     * 居中裁剪图片
     * @param 原始图片地址 $src_image
     * @param 缩略图地址 $thumbs_dir
     */
    function image_crop($src_image, $thumbs_dir, $width, $height) {
        //重新获取图片高宽,避免图片被压缩
        $imgs = getimagesize($src_image);
        list($width, $height, $type, $attr) = getimagesize($src_image);
        if ($attr) {
            preg_match_all('/\"\d{0,7}\"/', $attr, $matches);
        }
        $width = intval(str_replace('"', '', $matches[0][0]));
        $height = intval(str_replace('"', '', $matches[0][1]));
        if ($width > $height) {
            $size = $height;
            $sub = $width - $height;
        } else {
            $sub = $height - $width;
            $size = $width;
        }
        $sub2 = round($sub / 2);


        $this->load->library('image_lib');
        $config['create_thumb'] = TRUE;
        $config['source_image'] = $src_image;
        $config['maintain_ratio'] = false;
        $config['thumb_marker'] = '';
        $config['new_image'] = $thumbs_dir;
        $config['width'] = 85;
        $config['height'] = 85;
        if ($width > $height) {
            $config['x_axis'] = $sub2;
            $config['y_axis'] = '0';
        } else {
            $config['x_axis'] = '0';
            $config['y_axis'] = $sub2;
        }

        $config['swidth'] = $size;
        $config['sheight'] = $size;
        //print_r($resize_config);
        $this->image_lib->initialize($config);
        return $this->image_lib->crop();

        //list($width, $height, $type, $attr) = getimagesize($imgs);
        //dump($imgs);
    }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值