PHPackages                             tomaj/nette-images - 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. tomaj/nette-images

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

tomaj/nette-images
==================

Images library.

1.0.1(11y ago)11.5kMITPHPPHP &gt;=5.3.3

Since Jun 20Pushed 11y ago1 watchersCompare

[ Source](https://github.com/tomaj/nette-images)[ Packagist](https://packagist.org/packages/tomaj/nette-images)[ RSS](/packages/tomaj-nette-images/feed)WikiDiscussions master Synced 4d ago

READMEChangelogDependencies (1)Versions (3)Used By (0)

Nette Image
===========

[](#nette-image)

Specialna kniznica pre lahsiu pracu s obrazkami. Umoznuje ukladat obrazky do roznych storagov a roznej struktury. Rovnako umoznuje vytvarat priamo k obrazkom rozne thumby.

[![Build Status](https://camo.githubusercontent.com/22d7979577aa7a058cc97329cb596bb6d1a9e100403f263a9cf3e0afe1b270d7/68747470733a2f2f7365637572652e7472617669732d63692e6f72672f746f6d616a2f6e657474652d696d616765732e706e67)](http://travis-ci.org/tomaj/nette-images)[![Dependency Status](https://camo.githubusercontent.com/22dd9e447fe67769f0cd42d938d478ccb25a1b18febd15077dc09119ac09aa22/68747470733a2f2f7777772e76657273696f6e6579652e636f6d2f7068702f746f6d616a3a6e657474652d696d616765732f312e302e312f62616467652e737667)](https://www.versioneye.com/php/tomaj:nette-images/1.0.1)

[![Latest Stable Version](https://camo.githubusercontent.com/c81f83de0b044bb0c7740edacc93ec18446feca76ff27a61a3523da3ec5e8548/68747470733a2f2f706f7365722e707567782e6f72672f746f6d616a2f6e657474652d696d616765732f762f737461626c652e737667)](https://packagist.org/packages/tomaj/nette-images)[![Latest Unstable Version](https://camo.githubusercontent.com/365fb4e862ce72fff93d4277be88c80391b919c145c87e6cdc34471d4fca1ce5/68747470733a2f2f706f7365722e707567782e6f72672f746f6d616a2f6e657474652d696d616765732f762f756e737461626c652e737667)](https://packagist.org/packages/tomaj/nette-images)[![License](https://camo.githubusercontent.com/4b1a8e6426669bcd7012a23d88d585a124a152b5b4b1ebf73332c7671d1e37a7/68747470733a2f2f706f7365722e707567782e6f72672f746f6d616a2f6e657474652d696d616765732f6c6963656e73652e737667)](https://packagist.org/packages/tomaj/nette-images)

Instalacia
----------

[](#instalacia)

Najlepsie cez composer

```
composer require tomaj/nette-images

```

Nastavenie
----------

[](#nastavenie)

Pre fungovanie je potrebne zaregistrovat a nastavit, pdola toho aky backend chceme pouzivat. Backend je treba zaregistraovat ako nette service. Pouzitie klasickeho file backendu: `fileBackend: Tomaj\Image\Backend\FileBackend('uploads/images/')`alebo je mozne pouzit S3 backend `s3Backend: Tomaj\Image\Backend\S3Backend('replace-acces-key-id', 'replace-secret-key-id', 'bucket-name', 'eu-west-1', 'bucketname.s3-eu-west-1.amazonaws.com')`. Nastavenie je treba upravit podla toho kam na S3 chceme obrazok ukladat

Celkova konfiguracia moze vyzerat napriklad takto:

```
fileBackend: Tomaj\Image\Backend\FileBackend('uploads/')
userImage: Tomaj\Image\ImageService(@fileBackend, 'avatar/:year/:month/:day/:hash', '/tmp', ['10x10', '320x200', '640x360'])

```

Aplikacia moze obsahovat viacero instancii sluzby *ImageService* kde kazda moze pouzivat iny backend a ine velkosti pre obrazky

Pre fungovanie helpra v sablonach ho je potrebne zaregistrovat v presenteri:

```
$context = $this->context;
$this->template->registerHelper('thumb', function($identifier, $type, $size = '') use ($context) {
	$imageService = $context->getService($type . 'Image');
	return \Tomaj\Image\Helper\Image::thumb($imageService, $identifier, $size);
});

```

Pouzitie
========

[](#pouzitie)

Pouzitie je rozdelene 2 casti - pridanie obrazku a vytvorenie linky na obrazok.

Upload
------

[](#upload)

Novy obrazok je mozne pridat v kode cez nasledovanu funkciu:

```
$itemImage = $this->context->getService('itemImage')
$identifier = $itemImage->store('cesta k obrazku', 'meno vysledneho obrazku');

```

Tento *$identifier* ktory vrati metoda store() si treba ulozit pre spetne ziskanie obrazku

Novy obrazok je mozne pridat priamo z nette formulara takto:

```
TODO

```

Generovanie nahladov
--------------------

[](#generovanie-nahladov)

Pre vytvorenie nahladu je potrebna hodnota ktoru *ImageService* vratil po ulozenie obrazku. Priklad moze vyzerat nasledovne:

```
$itemImage = $this->context->getService('itemImage')
$thumbUrl = $itemImage->url($identifier, '320x200');
// alebo pre povodny obrazok
$orginalUrl = $itemImage->url($identifier);

```

**NOTE:** v pripade ze zmensenina ktora sa da vytvorit neexistuje tak vytvori linka ktora bude odkazovat na neexistujuci zdroj, pokial tuto chybu neostruje priamo backend.

Tiez je mozne pouzit priamo vygenerovanie nahladu v sablone pomocou helpera (je potrebne ho zaregistrovat ako je uvedene na zaciatku)

```

```

Pri tomto pouziti je dolezite uvies druhy paramter(retazec) podla ktoreho sa pouzije spravny *ImageService* - v projekte ich moze byt viac. Pomocou dependecy injection sa vytvori nazov sluzby ktora sa bude pouzivat - toto chovanie je mozne v aplikacii zmenit, nie je sucastou kniznice(implementacia je hore pri registrovanie helpera)

**Rozne typy nahladov**Pre nahlady je mozne pouzit rozne presety podla ktorych sa budu obrazky pouzivat. Konfiguracia potom vyzera takto:

```
userImage: Tomaj\Image\ImageService(@fileBackend, 'avatar/:year/:month/:day/:hash', '/tmp', ['10x10_FILL', '320x200_EXACT', '640x360_SHRINK_ONLY'])

```

Nazvy a funkcnost presne kopiruje nette dokumentaciu ku obrazkom. Defaultne je pouzity preset **EXACT**.

Vygenerovanie novej velkosti alebo pregenerovanie nahladov
----------------------------------------------------------

[](#vygenerovanie-novej-velkosti-alebo-pregenerovanie-nahladov)

Na vygenerovanie novej velkosti existuje funkcia *regenerateThumb* v image servise. Staci ju zavolat nad identifiermi ktore mame a vygeneruju sa nove thumby. Pouzitie moze vyzerat nasledovne:

```
$promoImageService = $container->getService('promoImage');
foreach ($container->getService('promoRepository')->findAll() as $promo) {
	$promoImageService->regenerateThumb($promo->image, '20x20');
}

```

Rozisrenie - pridanie noveho backendu
-------------------------------------

[](#rozisrenie---pridanie-noveho-backendu)

Pre pridanie dalsieho backendu staci implementovat interface *Tomaj\\Image\\Backend\\BackendInterface*. Vsetky potrebne info je mozne vycitat z komentarov priamo v tomto interfaci a implemtnacii *FileBackendu* a *S3Backendu*

TODO - co by bolo dobre este doriesit
=====================================

[](#todo---co-by-bolo-dobre-este-doriesit)

1. Aktualne sa vsety thumby generuju napevno ako **.jpg**
2. Treba doplnit funkcie pre mazanie obrazkov z backendu a upravu obrazku v backende

###  Health Score

29

—

LowBetter than 59% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity17

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity59

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% 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 ~3 days

Total

2

Last Release

4344d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/875f8397233f01d81479a45bf6a64ca995f04d8ee9e72118f2ffcf129c502f12?d=identicon)[tomaj](/maintainers/tomaj)

---

Top Contributors

[![tomaj](https://avatars.githubusercontent.com/u/446736?v=4)](https://github.com/tomaj "tomaj (14 commits)")

---

Tags

netteimages

### Embed Badge

![Health badge](/badges/tomaj-nette-images/health.svg)

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

###  Alternatives

[rosell-dk/webp-convert

Convert JPEG &amp; PNG to WebP with PHP

6038.1M54](/packages/rosell-dk-webp-convert)[brabijan/images

Image storage for Nette Framework

5617.7k](/packages/brabijan-images)[wp-media/imagify-plugin

Image optimization plugin for WordPress by WP Media.

7960.9k](/packages/wp-media-imagify-plugin)[spatie/pixelmatch-php

Compare images using PHP

5783.7k9](/packages/spatie-pixelmatch-php)[andrewgjohnson/imagettftextblur

imagettftextblur is a drop in replacement for imagettftext with added parameters to add blur, glow and shadow effects to your PHP GD images

27198.4k1](/packages/andrewgjohnson-imagettftextblur)[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)
