官方网址:http://image.intervention.io/
1,安装 composer require intervention/image (如果使用1.*的版本 ,要安装 "intervention/image": "1.*")
2,使用并初始化对象
require ‘vendor/autoload.php‘; use Intervention\Image\ImageManager; // 初始化图片驱动模块,默认是gd。也可以使用imagick 如下方式指定 // $manager = new ImageManager(array(‘driver‘ => ‘imagick‘)); $manager = new ImageManager();
3,更改尺寸,并保存
$image = $manager->make(‘bk/1.jpg‘)->resize(960, 540)->save(‘bk/1.jpg‘, 80);
这里面设计图片对象的创建,更改尺寸,和保存三个步骤
里面的make方法有多种调用形式,可以是图片路径,也可以是图片网址,也可以是输入的文件流。
// create a new image resource from file $img = Image::make(‘public/foo.jpg‘); // or create a new image resource from binary data $img = Image::make(file_get_contents(‘public/foo.jpg‘)); // create a new image from gd resource $img = Image::make(imagecreatefromjpeg(‘public/foo.jpg‘)); // create a new image directly from an url $img = Image::make(‘http://example.com/example.jpg‘); // create a new image directly from Laravel file upload $img = Image::make(Input::file(‘photo‘));
resize方法也有多个调用形式,可以指定宽,高,回调函数 resize (integer $width, integer $height, [Closure $callback])
更改尺寸是比较常用的方法,可以修改图片宽高到指定数值,也可以在回调函数里面限制图片不能超过本身原有尺寸。也可以只指定宽度或高度,回调里面进行尺寸比率约束。
$img->resize(null, 400, function ($constraint) { $constraint->aspectRatio(); $constraint->upsize(); });
save方法可以保存图片,也可以指定保存图片的质量,还可以更改图片格式 save([string $path, [int $quality], [string $format]])
// open and resize an image file $img = Image::make(‘public/foo.jpg‘)->resize(300, 200); // save file as jpg with medium quality $img->save(‘public/bar.jpg‘, 60); // save the same file as jpg with default quality $img->save(‘public/baz.jpg‘); // save the file in png format $img->save(‘public/bar.png‘); // save the image jpg format defined by third parameter $img->save(‘public/foo‘, 80, ‘jpg‘);
4,操作完成后可以手动调用销毁方法,进行对象销毁。
$image->destroy();
其他更多方法可以查看文档。