Intervention 图像切割扩展

Intervention 更多操作记录

make,save函数

$source 可以是图片的本地路径,可以是图片的 URL 路径,可以是一个二进制图片数据,也可以是 PHP 的图像资源,列如在用 form 标签上传图片时, 获得的图片资源,返回一个 Intervention 的 Image 对象,save 函数可以保存对于图像的修改

make(mixed $source);
$img=Image::make('public/foo.jpg');
$img->save();

resize 函数

这个函数是用于调整图片宽高,是按照比例进行缩放

resize(int $width,int $height,[Closure $callback])
$img->resize(300,200);
//将图片大小调整为(300,200),会进行缩放,如果图片原本比例不为3:2,可能会出现边扁,或变高
$img->resize(300,null);
//只调整宽度
$img->resize(300,null,function($constraint){
    $constraint->aspectRatio();
        $constraint->upsize();
});
// 调整宽度为300 高度等比例缩放

widen,heighten

这两个函数是上面 resize() 等比例调整图片的快捷方式,只需传入宽度,或者高度,就可以等比例调整到你需要的宽高

widen($width,callback);
$img->widen(300);
$img->widen(300,function($constraint){
    $constraint-upsize();
});

width(),height()

这两个函数分别用于获取图片的宽高,以数值的形式返回

$width=$img->width();
$height=$img->height();

crop函数

crop 函数以 $x,$y 为起点,切割 width,height 宽度的图片,如果忽略 $x,$y 那么就会以图片的中心为起点

crop(int $width,int $height,[int $x],[int $y]])
$img->crop(300.,200,0,0);

fit 函数

fit 函数是 crop 函数和 resize 函数的结合版,按照你传入的宽高,进行剪切和缩放,非常智能,position 属性为字符串,指定剪切的位置,默认为中心。可选参数有 top-left,top-right,bottom-left,bottom-right 等等,个人理解是先按照传入的比例剪切,后调整到你指定的大小

fit(int $width,[ int $height ], [Closure $callback], [String $position])
$img->fit(300,200);
//按照 3:2 比例,并调整到 300x200
$img-fit(200);
//1:1 比例,并调整到200
$img->fit(300,200,function($constraint){
  $constraint->upsize();
});
//调整到 300x200,并防止图片放大

官方文档http://image.intervention.io

本作品采用《CC 协议》,转载必须注明作者和本文链接
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 1

crop裁剪只支持整数,遇到一张图片平均切成N份,高度会有小数,那这样平均切割怎么能做到很精确呢?

6年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!
未填写
文章
1
粉丝
0
喜欢
1
收藏
1
排名:909
访问:6821
私信
所有博文
社区赞助商