关于think-image一次裁剪多个尺寸图像并保存的问题

浏览:980 发布日期:2016/11/18 分类:ThinkPHP5专区 关键字: thinkphp5 图像裁剪
代码如下,我的config里配置了图像有三个尺寸,90,45,25
foreach循环分别裁剪并保存三个尺寸的图像 只有第一个90成功了,其它两个尺寸保存了两个尺寸正确的黑色图像。请问是什么问题呢?    public function corp(Request $request)
    {
        /* 读取用户选择的图片 */
        $image = Image::open($request->file('avatar_file'));
        /* 裁剪配置 X,Y轴 裁剪区域宽高 旋转值*/
        $data = json_decode($request->post('avatar_data'),true);
        /* 读取配置 */
        $config = config('avatar_upload');
        /* 裁剪各尺寸头像 */
        foreach ($config['size'] as $size){
            //拼装保存路径和文件名
            $save_file = $config['path'].session('UserID').'-'.$size.'.'.$image->type();
            //裁剪并保存
            $image->rotate($data['rotate'])
                ->crop($data['width'],$data['height'],$data['x'],$data['y'],$size,$size)
                ->save( $save_file );
        }
    }
最佳答案
评论( 相关
后面还有条评论,点击查看>>