e1_thumbnails – Náhľady obrázkov
Plugin, ktorý vytvára JPEG thumbnaily z poslaných obrázkov.
Stiahnutie pluginu
Inštalácia pluginu
Model (provider)
| Vlastnosť | Hodnota |
|---|---|
| PubName | Thumbnails |
| SysName | e1_thumbnails_provider |
Vstupné parametre
| Parameter | Typ | Povinný | Default | Popis |
|---|---|---|---|---|
@thmbImageColumn | String | Áno | — | Názov stĺpca vo výsledku SQL dotazu, ktorý obsahuje obrázok na spracovanie. |
@thmbWidth | Int | Nie | — | Požadovaná šírka thumbnaliu v pixeloch. |
@thmbHeight | Int | Nie | — | Požadovaná výška thumbnaliu v pixeloch. |
@thmbKeepAspectRatio | Boolean | Nie | true | Zachovať pomer strán (true) alebo natvrdo zdeformovať na presné rozmery (false). |
@thmbReturnThumbnail | Boolean | Nie | true | true = vráti thumbnail, false = ponechá pôvodný obrázok. |
@thumbCompression | Int | Nie | 70 | Kompresia JPEG (0–100). Vyššie číslo = lepšia kompresia, menší súbor. |
SQL dotaz sa zadáva do vlastnosti SQLcmd v DataSource.
Výstupné stĺpce
Plugin vráti všetky stĺpce podľa zadaného SQL príkazu a k pôvodným dátam z SQL dotazu sa pridajú nasledujúce stĺpce:
| Stĺpec | Typ | Popis |
|---|---|---|
| Result | string | Výsledok spracovania riadku: "OK" pri úspechu, "Error" pri chybe, "No image data" ak stĺpec neobsahuje obrázok. |
| Response | string | JSON s metadatami o thumbnaily: originalWidth, originalHeight, newWidth, newHeight, compression, returnThumbnail. |
| ErrorMessage | string | Detailný popis chyby, ak spracovanie zlyhalo. |
Stĺpec uvedený v @thmbImageColumn sa upraví priamo: ak je @thmbReturnThumbnail = true, nahradí sa thumbnailom; ak false, ponechá sa pôvodná hodnota.
Datasource (GetDataTable)
Plugin vykoná SQL dotaz z SQLcmd, pre každý riadok spracuje obrázok v stĺpci @thmbImageColumn a vráti upravenú tabuľku.
Príklad
SQLcmd: SELECT id, nazov, obrazok FROM produkty WHERE kategoria = @kat Parametre: @kat = "elektronika" @thmbImageColumn = "obrazok" @thmbWidth = 300 @thmbHeight = 200 @thmbKeepAspectRatio = true @thmbReturnThumbnail = true @thumbCompression = 80

Akcia Datarepeater / SetLargeDataTable
Vstupné dáta už obsahujú stĺpec s obrázkami. Plugin:
- Pre každý riadok vytvorí thumbnail a nahradí ho v stĺpci
@thmbImageColumn. - Po spracovaní všetkých riadkov vykoná Tools.ExecuteSave s príkazom z SQLcmd, čím uloží zmeny späť do databázy.
Dôležité: SQLcmd musí byť INSERT/UPDATE príkaz, ktorý vie prijať celú tabuľku (napr. UPDATE produkty SET obrazok = @obrazok WHERE id = @id). Názvy stĺpcov sa mapujú na parametre podľa Caption/ValName.
Scenáre výpočtu rozmerov
Scenár A – Zadaná iba šírka ALEBO iba výška
Ak je jeden rozmer null/0, druhý sa automaticky dopočíta tak, aby sa zachoval pomer strán. Parameter @thmbKeepAspectRatio sa v tomto prípade ignoruje.
Príklad: Originál 1000×2000 px, @thmbWidth = 300 → Výsledok: 300×600 px
Scenár B – Oba rozmery zadané, KeepAspectRatio = false
Obrázok sa natvrdo stlačí/roztiahne na presné rozmery. Pomer strán sa nezachováva – obrázok môže byť deformovaný.
Príklad: Originál 1000×2000 px, @thmbWidth = 300, @thmbHeight = 200, KeepAspectRatio = false → Výsledok: 300×200 px (deformované)
Scenár C – Oba rozmery zadané, KeepAspectRatio = true
Obrázok sa zmenší tak, aby sa celý zmestil do pomyselného boxu s rozmermi X×Y, pričom sa zachová pomer strán. Použije sa menší z pomerov zmenšenia (aby obrázok nepretekol ani v jednom smere).
Príklad: Originál 1000×2000 px, box 300×300 px:
Pomer šírka: 300/1000 = 0.3
Pomer výška: 300/2000 = 0.15
Menší pomer je 0.15 → Výsledok: 150×300 px
Neplatné obrázky
Ak stĺpec @thmbImageColumn obsahuje súbor, ktorý nie je platným obrázkom:
@thmbReturnThumbnail = true→ hodnota v stĺpci sa nastaví na NULL (DBNull).@thmbReturnThumbnail = false→ pôvodné dáta ostanú nezmenené.
V oboch prípadoch sa do stĺpca Result zapíše "Invalid image data" a do ErrorMessage opis chyby.
Podporované formáty vstupov
byte[]– binárne dáta obrázkastring– base64 reťazecstring–data:image/...URIstring– cesta k súboru na serveri (ak súbor existuje)
Ukážka rýchlosti načítania zoznamu s obrázkami bez thumbnails vs s thumbnails
Zobrazenie detailu:
- navigačná akcia s ShowAs DetailView a parametrom
@thmbReturnThumbnail= false