PHPackages                             geniv/nette-thumbnail - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Image &amp; Media](/categories/media)
4. /
5. geniv/nette-thumbnail

ActiveLibrary[Image &amp; Media](/categories/media)

geniv/nette-thumbnail
=====================

Thumbnail extension for Nette Framework

v1.2(6y ago)43.3k↓23.1%22MITPHPPHP &gt;=7.0

Since May 6Pushed 3y ago2 watchersCompare

[ Source](https://github.com/geniv/nette-thumbnail)[ Packagist](https://packagist.org/packages/geniv/nette-thumbnail)[ RSS](/packages/geniv-nette-thumbnail/feed)WikiDiscussions master Synced 3w ago

READMEChangelog (1)Dependencies (5)Versions (22)Used By (2)

Thumbnail
=========

[](#thumbnail)

Installation
------------

[](#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
----------------------

[](#include-in-application)

default resize flag: `SHRINK_ONLY`, via:

Quality
-------

[](#quality)

via:

- JPEG - 0-100; default: 85
- PNG - 0-9; default: 9
- GIF - nothing
- WEBP - 0-100; default: 80

`lazyLoad: true` is only for `` 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 *}

{* 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
```

###  Health Score

35

—

LowBetter than 77% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity25

Limited adoption so far

Community17

Small or concentrated contributor base

Maturity67

Established project with proven stability

 Bus Factor1

Top contributor holds 97% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~41 days

Recently: every ~180 days

Total

20

Last Release

2192d ago

PHP version history (2 changes)v1.0.0PHP &gt;=7.0.0

v1.1.8PHP &gt;=7.0

### Community

Maintainers

![](https://www.gravatar.com/avatar/bc7e200eb4e96d99020297684063209160ea1347d8a2a8b4cd769d532204867e?d=identicon)[geniv](/maintainers/geniv)

---

Top Contributors

[![geniv](https://avatars.githubusercontent.com/u/563659?v=4)](https://github.com/geniv "geniv (64 commits)")[![hermajan](https://avatars.githubusercontent.com/u/750954?v=4)](https://github.com/hermajan "hermajan (1 commits)")[![MartinKokesCz](https://avatars.githubusercontent.com/u/1529358?v=4)](https://github.com/MartinKokesCz "MartinKokesCz (1 commits)")

---

Tags

thumbnailnettegeniv

### Embed Badge

![Health badge](/badges/geniv-nette-thumbnail/health.svg)

```
[![Health](https://phpackages.com/badges/geniv-nette-thumbnail/health.svg)](https://phpackages.com/packages/geniv-nette-thumbnail)
```

###  Alternatives

[contributte/translation

Symfony/Translation integration for Nette Framework.

771.8M49](/packages/contributte-translation)[pavlista/nette-palette

Palette support for Nette Framework and Latte template engine

1658.6k](/packages/pavlista-nette-palette)[brabijan/images

Image storage for Nette Framework

5617.7k](/packages/brabijan-images)[kollarovic/thumbnail

Generating image thumbnails

1036.1k2](/packages/kollarovic-thumbnail)[dotblue/nette-webimages

On-the-fly generated web images for your Nette app

262.1k](/packages/dotblue-nette-webimages)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
