rik43/imagecache

Laravel 包,用于生成图片缩略图并在您的公共文件文件夹中缓存。

3.0.12 2018-12-11 22:10 UTC

README

Laravel Laravel License

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 属性接受以下类型的转换