brabijan/images

Nette 框架的图像存储

v3.0.0 2018-06-02 16:46 UTC

This package is not auto-updated.

Last update: 2024-09-15 21:16:39 UTC


README

Join the chat at https://gitter.im/brabijan/images

这是一个简单的 Nette 框架图像存储

安装

安装 brabijan/images 的最佳方式是使用 Composer

$ composer require brabijan/images:@dev

然后你需要在 config.neon 中注册扩展。

extensions:
	- Brabijan\Images\DI\ImagesExtension

包包含一个特质,你需要在想要使用图像存储的类中使用它。这仅适用于 PHP 5.4+,对于旧版本,你可以简单地将特质内容复制并粘贴到想要使用的类中。

<?php

class BasePresenter extends Nette\Application\UI\Presenter {

	use Brabijan\Images\TImagePipe;
	
}

使用方法

保存图像

/** @var Brabijan\Images\ImageStorage $imageStorage */
$imageStorage->upload($fileUpload); // saves to .../assetsDir/original/filename.jpg

$imageStorage->setNamespace("products")->upload($fileUpload); // saves to .../assetsDir/products/original/filename.jpg

在 Latte 中使用

<a href="{img products/filename.jpg}"><img n:img="filename.jpg, 200x200, fill"></a>

输出

<a href="/assetsDir/products/original/filename.jpg"><img src="/assetsDir/200x200_4/filename.jpg"></a>

Texy! 中使用

首先,你需要在 Texy! 中注册宏。

$texy = new Texy;
$this->registerTexyMacros($texy);

现在你就可以使用了。宏会扩展 Texy! 中的原生图像宏。以下是语法。

[* products/filename.jpg, 200x200, fill *]

如果图像存储中找不到文件,宏会尝试在文档根目录中搜索文件。当然,你可以添加标题或浮动图像,就像你在纯 Texy! 中所知道的那样。

调整大小标志

对于调整大小(第三个参数),你可以使用以下关键词 - fitfillexactstretchshrink_only。详细信息请参阅上述 这些常量 的注释。