php 图片操作类 Intervention Image

官方网址: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();

 

其他更多方法可以查看文档。

 

php 图片操作类 Intervention Image

上一篇:jquery基础(语法)


下一篇:JS通用校验工具