geniv / nette-thumbnail
Thumbnail extension for Nette Framework
Installs: 3 008
Dependents: 2
Suggesters: 0
Security: 0
Stars: 4
Watchers: 2
Forks: 2
Open Issues: 0
Requires
- php: >=7.0
- latte/latte: >=2.8
- nette/caching: >=3.0
- nette/di: >=3.0
- nette/php-generator: >=3.0
- nette/utils: >=3.0
README
Installation
$ composer require geniv/nette-thumbnail
or
"geniv/nette-thumbnail": "^1.2"
require:
"php": ">=7.0", "nette/caching": ">=3.0", "nette/di": ">=3.0", "nette/php-generator": ">=3.0", "nette/utils": ">=3.0", "latte/latte": ">=2.8"
Include in application
default resize flag: SHRINK_ONLY
, via: https://doc.nette.org/cs/2.4/images
Quality
via: https://api.nette.org/2.4/source-Utils.Image.php.html#512-549
- JPEG - 0-100; default: 85
- PNG - 0-9; default: 9
- GIF - nothing
- WEBP - 0-100; default: 80
lazyLoad: true
is only for <img src="...">
because it is terminated php after generate one picture. waitImage
must be defined!
neon configure:
# thumbnail thumbnail: dir: %wwwDir%/../ thumbPath: %wwwDir%/files/image/thumbnail/ thumbUrl: https://example.com # or use %baseUrl% from parameters section noImage: www/images/no-image.svg # waitImage: www/images/wait-image.gif # lazyLoad: false # defaultFlag: Nette\Utils\Image::SHRINK_ONLY # cache: false template: projectBlock: path: www/images/ width: 250 height: 150 flags: [FILL,SHRINK_ONLY] quality: 75
neon configure extension:
extensions: thumbnail: Thumbnail\Bridges\Nette\Extension
usage:
{* path, image, [width], [height], [image flag], [quality] *} or {* template, image *} {* path/to/image.png *} {thumb 'www/images/', '1920x1080.png', 200, 150, ['FIT'], 75} {thumb 'www/images/', '1920x1080.png', 200, 150, [], 6} {thumb 'www/images/', '1920x1080.png', 200, 150, ['FILL']} {thumb 'www/images/', '1920x1080.png', 200, 150} {thumb 'www/images/', '1920x1080.png', '50%', '75%'} {thumb 'www/images/', '1920x1080.png', 200} {thumb projectBlock, '1920x1080.png'} {thumb projectBlock, $item['image']} {thumb $presenter->context->parameters['gallery']['pathToImage'], $item['image'], 120, 121} {* combine usage *} <img src="{thumb projectBlock, $item['image']}"> {* accept modifier dataStream for base64 *} {thumb projectBlock, $item['image']|dataStream} {* example output: *} {* output is not contains absolute url! eg: *} {* www/images/1920x1080-131745-2019-01-28-00-37-50_p..SwwwSfilesSfileSwh64f1qmt1548632270.jpg *}
presenters:
Thumbnail::setDefaultImageFlag(int $flag) Thumbnail::setNoImage(string $path) Thumbnail::setWaitImage(string $path) Thumbnail::setLazyLoad(bool $state) Thumbnail::setCache(bool $state) Thumbnail::cleanThumbnail(): array Thumbnail::synchronizeThumbnail([__DIR__.'/../../www/images/']) : array Thumbnail::getUnusedFiles([__DIR__.'/../../www/images/']) : array Thumbnail::isSrcPathExists(string $path, string $file = null): bool Thumbnail::getSrcPath(string $path, string $file = null, string $width = null, string $height = null, array $flags = [], int $quality = null): string