rtablada/resize-and-pad

想象一下将图片调整大小并填充到指定宽度和高度的过滤器

dev-master 2014-02-24 05:41 UTC

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);

setSizeapply 函数允许链式调用,所以上面的代码可以写成这样

$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);
		}
	]
]);