devfactory / imagecache
Laravel包,用于生成图片缩略图并在您的公共文件目录中缓存它们。
4.0.8
2024-03-18 13:18 UTC
Requires
- php: >=5.4.0
- illuminate/support: ^5.0|^6.0|^7.0|^8.0|^9.0|^10.0|^11.0
- intervention/image: ~2.1
This package is auto-updated.
Last update: 2024-09-18 14:27:37 UTC
README
Imagecache
Laravel 4/5 包,允许您根据预定义的预设创建图片缩略图,并将它们存储在Laravel公共文件夹中,以便在页面加载时无需重新生成。
安装
使用Composer,编辑您的composer.json
文件以包含devfactory/imagecache
。
Laravel 5
"require": {
"devfactory/imagecache": "3.0.*"
}
Laravel 4
"require": {
"devfactory/imagecache": "2.1.*"
}
然后在终端运行
composer update
然后在您的app/config/app.php
文件中注册以下服务提供者
'Intervention\Image\ImageServiceProvider', 'Devfactory\Imagecache\ImagecacheServiceProvider',
以及外观
'Imagecache' => 'Devfactory\Imagecache\Facades\ImagecacheFacade',
发布配置
Laravel 5
php artisan vendor:publish
Laravel 4
php artisan config:publish devfactory/imagecache
使用方法
在
Laravel 5
config/imagecache.presets.php
Laravel 4
app/config/packages/devfactory/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
属性接受以下类型的转换