rik43 / imagecache
Laravel 包,用于生成图片缩略图并在您的公共文件文件夹中缓存。
3.0.12
2018-12-11 22:10 UTC
Requires
- php: >=5.4.0
- illuminate/support: ~5.0
- intervention/image: ~2.1
README
Imagecache
Laravel 5 包,允许您根据预定义的预设创建图片缩略图,并将它们存储在您的 Laravel 公共文件夹中,以在每次页面加载时无需生成它们即可提供。
原始仓库: https://github.com/DevFactoryCH/imagecache + 添加水印
安装
使用 Composer,编辑您的 composer.json
文件以要求 rik43/imagecache
。
Laravel 5
"require": {
"rik43/imagecache": "3.0.*"
}
然后在终端运行
composer update
然后在您的 app/config/app.php
文件中注册以下服务提供者
'Intervention\Image\ImageServiceProvider', 'Devfactory\Imagecache\ImagecacheServiceProvider',
和外观
'Imagecache' => 'Devfactory\Imagecache\Facades\ImagecacheFacade',
发布配置
Laravel 5
php artisan vendor:publish
用法
在
Laravel 5
config/imagecache.presets.php
<?php return array( 'teaser' => array( 'width' => 150, 'height' => 100, 'method' => 'crop', ), '465x320' => array( 'width' => 465, 'height' => 320, 'method' => 'resize', 'background_color' => '#FFFFFF', ), );
get($filename, $preset, $args = NULL)
$args 属性
返回值
示例用法
$image = Imagecache::get('images/sunset.jpg', 'teaser'); echo $image->img; echo '<img src="'. $image->src .'"> // Directly in a blade template {{ Imagecache::get('uploads/images/sunset.jpg', 'teaser')->img }}
您也可以直接访问其中一个属性,而无需调用 get()
。如果使用 Laravel 5,则需要使用新的原始表示法,而不是双大括号 {{ ... }}
。
{!! Imagecache::get('uploads/images/sunset.jpg', 'teaser')->img !!}
如果在 imagecache.config.php
文件中将 use_placeholders
变量设置为 TRUE
,并且您的图片不存在或未生成缓存版本。在您通常会收到包含空值的数组的地方,您可以获取与您请求的预设匹配的占位符图片。这在开发过程中非常有用,当您可能没有所有内容的图片时。
get_original($filename, $args = NULL)
如果您不想对图片应用任何预设,但仍然想使用调用生成 <img>
标签,接受相同的参数并以相同的方式工作,就像 get()
一样,只是没有 $preset
delete($filename)
删除给定文件名的每个预设的所有缓存图片。
预设
在定义您的预设时,您可以设置以下选项
method
属性接受以下类型的转换