如何创建和使用带有干预图像和 Laravel 5.2 的图像模板
How to create and use image template with intervention image and Laravel 5.2
我正在使用 Intervention Image library in my Laravel 5.2 app along with the Image Cache plugin
我一直在使用开箱即用的预定义模板,没有出现这样的问题:
{{ route('imagecache', ['template' => 'medium', 'filename' => 'image.jpg']) }}"
我在文档中看到,除了默认尺寸小、中和大,您还可以创建图像过滤器来创建自定义操作,并将它们定义为配置文件中的模板,这样我就可以通过我的模板名称。该文档引用图像过滤器作为执行此操作的一种方式,但对于具体如何执行此操作有点粗略。有谁知道你具体是怎么做到的?
在config/imagecache.php
里面有一个templates
键,你可以在这里添加你自己的。
例如:
'templates' => [
// ...
'x-large' => 'App\Filters\ExtraLarge',
// ...
],
那么您只需要创建 class App\Fitlers\ExtraLarge
.
在 applyFilter()
方法中,您可以根据 documentation.
调用 $image
属性 上的任何方法
<?php
namespace App\Filters;
use Intervention\Image\Image;
use Intervention\Image\Filters\FilterInterface;
class ExtraLarge implements FilterInterface
{
public function applyFilter(Image $image)
{
return $image->fit(1300, 1000);
}
}
然后在 route
助手内部将模板的值设置为 x-large
{{ route('imagecache', ['template' => 'x-large', 'filename' => 'image.jpg']) }}
我正在使用 Intervention Image library in my Laravel 5.2 app along with the Image Cache plugin
我一直在使用开箱即用的预定义模板,没有出现这样的问题:
{{ route('imagecache', ['template' => 'medium', 'filename' => 'image.jpg']) }}"
我在文档中看到,除了默认尺寸小、中和大,您还可以创建图像过滤器来创建自定义操作,并将它们定义为配置文件中的模板,这样我就可以通过我的模板名称。该文档引用图像过滤器作为执行此操作的一种方式,但对于具体如何执行此操作有点粗略。有谁知道你具体是怎么做到的?
在config/imagecache.php
里面有一个templates
键,你可以在这里添加你自己的。
例如:
'templates' => [
// ...
'x-large' => 'App\Filters\ExtraLarge',
// ...
],
那么您只需要创建 class App\Fitlers\ExtraLarge
.
在 applyFilter()
方法中,您可以根据 documentation.
$image
属性 上的任何方法
<?php
namespace App\Filters;
use Intervention\Image\Image;
use Intervention\Image\Filters\FilterInterface;
class ExtraLarge implements FilterInterface
{
public function applyFilter(Image $image)
{
return $image->fit(1300, 1000);
}
}
然后在 route
助手内部将模板的值设置为 x-large
{{ route('imagecache', ['template' => 'x-large', 'filename' => 'image.jpg']) }}