pavlista/nette-palette
最新稳定版本:v2.3.2
Composer 安装命令:
composer require pavlista/nette-palette
包简介
Palette support for Nette Framework and Latte template engine
README 文档
README
Nette palette je rozšíření pro Nette Framework které umožňuje jednoduchuché i pokročilé úpravy obrazových souborů včetně inteligentního generování miniatur a náhledů.
Palette u obrázků například umožňuje: změny rozměrů, vkládání vodoznaků, pokročilé transformace, nastavení průhlednosti a množství dalších efektních filtrů a funkcí.
Instalace a integrace do Nette
1. Nejdříve Palette naistalujeme do projektu nejlépe pomocí composeru.
php composer.phar require pavlista/nette-palette
2. Po té v Nette do config.neon zaregistrujeme rozšíření.
extensions:
palette: NettePalette\PaletteExtension
3. Do config.neon také přidáme sekci s nastavením rozšíření a správně ji vyplníme.
palette:
path: 'files/thumbs/'
url: 'http://website.com/files/thumbs/'
signingKey: '%uniqueSigningKey%'
basepath: '/var/www/website.com/www/files/'
- path: Je relativní nebo absolutní cesta ke složce do které se mají vygenerované miniatury a obrázky ukládat. Tato složka musí existovat a musí být do ní možné zapisovat!
- url: Absolutní url adresa s lomítkem na konci na které je složka s miniatury veřejně dostupná.
- signingKey: Náhodný řetězec, kterým se podepisují (http) požadavky na generování miniatur.
- basepath: (nepovinný) Absolutní cesta k document rootu webu.
- fallbackImage: (nepovinný) Absolutní cesta k obrázku, který se použije v případě, že požadovaný obrázek neexistuje (užitečné hlavně pro DEV).
- fallbackImages (nepovinný) Definice pojmenovaných výchozích obrázků ve tvaru
název obrázku=>absolutní cesta k obrázku, které je možné v Palette query použít pomocíFallbackImg. - template: (nepovinný) Pole šablon ve tvaru
název šablony=>paletteQuery. Šablony je možné používat v palette query přes.např.:.template. - websiteUrl: (nepovinný) Adresa aplikace s lomítkem na konci pro generování absolutních url adres k obrázkům v cli (např.:
https://localhost/). - pictureLoader: (nepovinný) Služba implementující interface
IPictureLoader, přes kterou je možné upravit logiku načítání a generování obrázků přes Palette. - handleException: (nepovinný) Jak se má pracovat s výjímkami při generování obrázků? true (default) - výjímky se logují přes tracy, false - výjímky se vyhazují, string - výjímky se logují do souboru přes tracy.
- webpMacroDefaultQuality: (nepovinný) Definice výchozí kvality (1–100) WebP obrázků pro makro n:webp. Pokud není zadáno, použije se
100.
4. A na konec do routovacích pravidel aplikace přidat na první místo toto pravidlo:
$router[] = new Route('files/thumbs/<path .+>', 'Palette:Palette:image');
Kde files/thumbs/ je relativní veřejná url adresa ke složce miniatur. Díky tomuto je možné aby Palette generovala miniatury obrázků vždy on demand.
Použití v nette
V Nette je služba palette dostupná pod názvem @palette.service.
Latte
V Latte je možné palette používat následujícími způsoby:
Makro n:palette-src
Makro je možné použít u HTML tagu <img> a <source>.
Na vstupu musí být vždy cesta k souboru obrázku (ne url adresa) a palette query.
Příklad:
{* Použití v tagu img (src) *} <img n:palette-src="$image, '300;300;fit'" alt="Image" /> {* Použití v tagu source (srcset) *} <source n:palette-src="$image, '300;300;fit&Grayscale&WebP'" type="image/webP">
Výsledné HTML:
<img alt="Image" src="/demo/www/nette3.0/thumbs/images/portrait.4087713685.1638810813.jpg"> <source type="image/webP" srcset="/demo/www/nette3.0/thumbs/images/portrait.2202428379.1638810813.jpg.webp">
Filtr palette
V Latte lze generovat miniatury a různé verze obrázků pomocí filtru palette na jehož vstupu musí být vždy cesta k souboru obrázku (ne url adresa) a palette query.
Příklad:
<img src="{$image|palette:'Resize;100;150&Border;2;2;black'}" />
Tento kód vygeneruje z obrázku miniaturu obrázku o rozměrech 100 x 150px s 2px černým rámečkem okolo.
Makro n:webp
Pomocí tohoto makra je možné vygenerovat picture set obrázků, kde jako první verze bude
verze obrázku ve formátu WebP s fallbackem na původní formát souboru (jpg|png|gif).
Makro je možné použít pouze HTML tagu <picture>.
Uvnitř tagu picture musí být zadán jeden tag img s definicí zdrojového obrázku setu
přes makro n:picture-src
(argumenty tohoto makra jsou shodné s makrem n:palette-src).
V makru je možné zadat procentuální kvalitu výsledného obrázku (1-100),
pokud není zadána použije se hodnota z konfigurace webpMacroDefaultQuality.
Příklady:
<div>JPG</div> <picture n:webp> <img n:picture-src="$imageJpg, '300;300;fit'" alt="Image" /> </picture> <div>JPG - Custom WebP quality (1–100)</div> <picture n:webp="10"> <img n:picture-src="$imageJpg, '300;300;fit'" alt="Image" /> </picture> <div>WebP</div> <picture n:webp> <img n:picture-src="$imageWebp, '300;300;fit'" alt="Image" /> </picture>
Výsledek:
<div>JPG</div> <picture> <source srcset="/images/image.3082875972.1638810813.jpg.webp" type="image/webp"> <source srcset="/images/image.2641037063.1638810813.jpg" type="image/jpeg"> <img alt="Image" src="/images/image.2641037063.1638810813.jpg"> </picture> <div>JPG - Custom WebP quality (1–100)</div> <picture> <source srcset="/images/image.1770219929.1638810813.jpg.webp" type="image/webp"> <source srcset="/images/image.2641037063.1638810813.jpg" type="image/jpeg"> <img alt="Image" src="/images/image.2641037063.1638810813.jpg"> </picture> <div>WebP</div> <picture> <source srcset="/images/image.6612593.1638810813.webp" type="image/webp"> <img alt="Image" src="/images/image.6612593.1638810813.webp"> </picture>
Seznam všech možných filtrů a effektů včetně používání samotného Palette naleznete na Githubu Palette
Důležité odkazy
统计信息
- 总下载量: 55.86k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 16
- 点击次数: 1
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2016-03-03