ImageInstance

Data pro výpis obrázku.

Obrázek je objekt, který sdružuje data nutná pro výpis elementu <img/> do HTML. Tato data jsou: soubor (přesněji řečeno: blob) a rozměry obrázku.

Tento objekt není totožný ani s assetem obsahujícím obrázek, ani s blobem obsaženým v assetu obrázku. Obsahuje ale referenci na takový blob.

Získání hodnoty typu obrázek

Obrázek je typ objektu, který vrací TFS funkce image.

Příklad: Získání obrázku
Vstup
{/* Předpokládáme, že _asset je zdroj obrázků */}
{let i := image(_asset, "CLOSEST_WIDTH", 200, -1)}

Funkce s obrázkem na vstupu

Obrázek může být vstupem funkce ref. Pak se vytváří odkaz stejně, jako by vstupem byl blob image obsažený v objektu obrázku.

Příklad: Reference na obrázek
Vstup
{let i := image(_asset, "CLOSEST_WIDTH", 200, -1)}
 
{/* Následující dají zcela shodný výsledek */}
<img src="{ref(i)}"/>
<img src="{ref(i.image)}"/>

Selekce podhodnoty

Obrázek má následující vlastnosti:

image
blob obsahující obrázkový soubor,
width
šířka obrázku v pixelech,
height
výška obrázku v pixelech.
Příklad: Vypsání kódu s obrázkem
Vstup
{let i := image(galleryMotive, "CLOSEST_WIDTH", 200, -1)}
<img src="ref(i)" alt="{galleryMotive.title}"
     width="{i.width}"
     height="{i.height}" />

Nepřímo přes blob image a vlastnost tohoto blobu composite je možné získat asset, ze kterého obrázek pochází, ale tento postup by se měl používat uvážlivě.

Mapování

Probíhá stejně jako selekce.

Sekvenční zpracování

Chová se jako prázdná sekvence.

Převod na logickou hodnotu

V podmínce se jakýkoli obrázek vyhodnotí jako true. Toho lze teoreticky využít k ověření, zda se funkci image podařilo najít vůbec nějaký obrázek.

Příklad: Test existence obrázku
Vstup
{let i := image(_asset, "CLOSEST_WIDTH", 200, -1)}
{if i}<img src="{ref(i)}" alt="" />{/if}

Pokud je například _asset motiv galerie, který nemá žádné varianty, nevypíše se nic.

Pro vložení příspěvku do diskuse se přihlašte.