rtablada / resize-and-pad
想象一下将图片调整大小并填充到指定宽度和高度的过滤器
dev-master
2014-02-24 05:41 UTC
Requires
- php: >=5.3.0
- imagine/imagine: ~0.5.0
This package is not auto-updated.
Last update: 2024-09-24 02:37:07 UTC
README
这是一个简单的Imagine过滤器,允许您通过使用空白填充来调整图片大小,以确保图片尺寸的一致性,而不会裁剪或拉伸。
安装
将 "rtablada/resize-and-pad": "dev-master"
添加到您的 composer.json
文件中。
使用
使用此过滤器与Imagine的转换过滤器非常相似。注入Imagine实例,然后调用 setSize
。这里我们将使用GD实例,但任何 Imagine\Image\ImageInterface
的实例都可以。
$imagine = new \Imagine\GD\Imagine; $resizer = new \Rtablada\Images\ResizeAndPad($imagine); $image = $imagine->open($pathToImage); $resizer->setSize(200, 200); $output = $resizer->apply($image); $output->save($outputPath);
setSize
和 apply
函数允许链式调用,所以上面的代码可以写成这样
$resizer->setSize(200, 200)->apply($image)->save($outputPath);
与Stapler一起使用
此过滤器最初是为了在Laravel项目中使用Stapler(Stapler)而构建的。当定义样式时,与Stapler一起使用此过滤器非常简单。
$this->hasAttachedFile('avatar', [ 'styles' => [ 'medium' => '300x300', 'thumb' => function($file, $imagine) { $resizer = \Rtablada\Images\ResizeAndPad($imagine); return $resizer->setSize(100,100)->apply($file); } ] ]);