INTEGRITY Dokumentace

Funkce

Cloudflare umožňuje vývojářům optimalizovat obrázky ve velkém měřítku díky dynamickému generování různých verzí v reálném čase.

Tento průvodce popisuje všechny parametry, které lze použít ke změně velikosti, oříznutí, úpravě a aplikaci vizuálních efektů na obrázky.

Jak aplikovat optimalizaci

Možnosti optimalizace obrázků od Cloudflare můžete využít prostřednictvím:

Rozhraní URL

Cloudflare používá odlišnou strukturu adresy URL podle toho, zda optimalizujete vzdálené nebo hostovaný obrázek:

Při optimalizaci obrázků mimo produkt Images má výchozí transformační URL adresa následující strukturu:

https://<ZONE>/cdn-cgi/image/<OPTIONS>/<SOURCE-IMAGE>

Rozbor URL adresy

Část Popis
<ZONE> Název vaší domény na Cloudflare. Transformace lze vyžádat v každé zóně Cloudflare, která má transformace povolené.
/cdn-cgi/image/ Pevná předpona, která označuje, že se v dané cestě jedná o požadavek na optimalizaci obrázku. Chcete-li tuto část skrýt, můžete nastavit Transform Rules k doručování obrázků z vlastní cesty.
<OPTIONS> Seznam optimalizačních parametrů oddělených čárkou. Platná adresa URL musí obsahovat alespoň jeden parametr.
<SOURCE-IMAGE> Původní obrázek, který chcete transformovat. Můžete použít absolutní cestu na origin serveru nebo absolutní URL adresu (začínající https:// nebo http://).

U obrázků uložených ve službě Cloudflare Images použijte doručovací adresu URL s variantou nebo vlastními možnostmi:

https://imagedelivery.net/<ACCOUNT_HASH>/<IMAGE-ID>/<VARIANT-OR-OPTIONS>

Rozbor URL adresy

Část Popis
imagedelivery.net Sdílená doména vlastněná společností Cloudflare určená pro optimalizaci obrázků hostovaných v Images. Alternativně můžete také doručovat obrázky z vlastní domény.
<ACCOUNT_HASH> Jedinečný identifikátor vašeho účtu Cloudflare. Hash účtu najdete v Cloudflare dashboard ↗ v části Obrázky > Developer Resources.
<IMAGE-ID> Jedinečný identifikátor hostovaného obrázku. Při nahrávání do Images Cloudflare automaticky vygeneruje ID obrázku. Můžete také nastavit vlastní ID k použití vlastní struktury cest.
<VARIANT-OR-OPTIONS> Zde můžete zadat předdefinovaná varianta nebo seznam optimalizačních parametrů oddělených čárkou. Platná URL adresa musí obsahovat buď variantu, nebo alespoň jeden parametr.

Workers

Při použití Images s Workers, můžete:


Parametry

anim

Určuje, zda se mají zachovat snímky animace ze vstupních souborů.

Toto nastavení se doporučuje při zvětšování obrázků nebo zpracování libovolného obsahu nahraného uživateli, protože animované GIFy mohou mít velkou velikost souboru a prodlužovat dobu načítání stránky. Při použití format=json, je také užitečné nastavit anim=false k rychlejší odpovědi bez počtu snímků.

Původní animacevýstup pro anim=false
Původníanim=false
anim=false
cf: {image: {anim: false}}

background

Určuje neprůhlednou nebo průhlednou barvu pro vyplnění prázdných nebo průhledných pixelů v obrázku. Výchozí hodnota je %23FFFFFF (bílá).

Přijímá následující vlastnosti:

Barva pozadí je viditelná u obrázků s průhlednými pixely, včetně obrázků, jejichž velikost se mění pomocí fit=pad.

Původní obrázekvýstup pro background=red

Původní
1080 x 720

Output
1080 x 900

background=%23ff0000
background=red
background=rgb%28240%2C40%2C145%29
cf: {image: {background: "#RRGGBB"}}
cf: {image: {background: "rgba(240,40,145,0)"}}

blur

Použije na obrázek poloměr rozostření. Přijímá celé číslo od 0 (bez rozostření) až 250 (maximální rozostření). Výchozí hodnota je 0.

Tento parametr byste neměli používat ke spolehlivému skrytí obsahu obrázku při optimalizaci přes URL adresu, protože URL adresu lze upravit tak, aby parametr blur odstranila. Místo toho můžete omezit přístup k původnímu obrázku prostřednictvím Workers.

Původní obrázekvýstup pro blur=50
Původníblur=50
blur=50
cf: {image: {blur: 50}}

border

Přidá kolem obrázku okraj.

Přijímá následující vlastnosti:

Okraj se použije až po změně velikosti obrázku. Šířka okraje se automaticky přizpůsobí dpr pro zajištění ostrosti na obrazovkách s vysokým rozlišením.

cf: {image: {border: {color: "rgb(0,0,0,0)", top: 5, right: 10, bottom: 5, left: 10}}}
cf: {image: {border: {color: "#FFFFFF", width: 10}}}

brightness

Upraví celkový jas obrázku pomocí násobitele.

Původní obrázekvýstup pro brightness=0.5výstup pro brightness=2
Původníbrightness=0.5brightness=2
brightness=0.5
cf: {image: {brightness: 0.5}}

compression

Vybere výstupní formát, který se komprimuje nejrychleji. Přijímá fast. Výchozí hodnota je none.

compression=fast upřednostňuje rychlost kódování před kvalitou výstupu a velikostí souboru a obvykle přepíše format pro upřednostnění formátu JPEG před efektivnějšími formáty jako AVIF nebo WebP. Tím se mírně sníží latence při zásahu mimo mezipaměť (cache miss), ale může se zvětšit velikost souboru a snížit kvalita obrázku.

Tato možnost se nedoporučuje, s výjimkou neobvyklých případů, jako je změna velikosti dynamicky generovaných obrázků, které nelze ukládat do mezipaměti.

compression=fast
cf: {image: {compression: "fast"}}

contrast

Upraví pomocí násobitele celkový rozdíl mezi nejtmavšími a nejsvětlejšími místy obrázku.

Původní obrázekvýstup pro contrast=0.5výstup pro contrast=2
Původnícontrast=0.5contrast=2
contrast=0.5
cf: {image: {contrast: 0.5}}

dpr

Škáluje výstupní rozlišení pomocí násobitele tak, aby odpovídalo konkrétní hustotě obrazovky uživatele (například Retina nebo 4K). Výchozí hodnota je 1, která doručí obrázek přesně v požadované šířce a výšce. Maximální podporovaná hodnota je 2.

Moderní zařízení mají více fyzických pixelů než pixelů CSS. Pokud zobrazíte obrázek 300px v kontejneru 300px na smartphonu s vysokým rozlišením (high-DPR), bude vypadat rozmazaně. Pomocí dpr=2 řekne Cloudflare, aby pro stejný kontejner o velikosti 300px odeslala obrázek 600px, což vede k ostřejšímu a čistšímu obrázku.

dpr lze použít s srcset na doručovat responzivní obrázky.

výstup pro dpr=1výstup pro dpr=2
width=300,height=200,dpr=1width=300,height=200,dpr=2
dpr=1
cf: {image: {dpr: 1}}

fit

Určuje způsob, jakým se obrázek přizpůsobí cílové oblasti.

Fit se provádí po nastavení width a height rozměry obrázku.

Možnost Výsledek Zachovat původní poměr stran Zvětšuje
scale-down (výchozí) Zobrazit celý obrázek bez oříznutí nebo zvětšení Ano Ne
contain Zobrazit celý obrázek bez oříznutí Ano Ano
cover Vyplní celou požadovanou oblast, v případě potřeby s oříznutím Ne Ano
crop Vyplní celou požadovanou oblast, ale nikdy nezvětšuje Ne Ne
aspect-crop Ořízne na cílový poměr stran, ale nikdy nezvětšuje Ne Ne
pad Vejde do cílové oblasti; zbývající prostor se vyplní Ano Ano
squeeze Přizpůsobení na přesné rozměry, v případě potřeby se zkreslením Ne Ano
scale-up Zvětšuje, aby byl vidět celý obrázek, ale nikdy nezmenšuje Ano Ano
fit=pad
cf: {image: {fit: "pad"}}

scale-down

Změní velikost obrázku tak, aby se vešel do zadaných rozměrů při zachování původního poměru stran, ale nikdy jej nezvětší. Jedná se o výchozí fit chování.

Pokud je původní obrázek menší než cílová oblast, vrátí se v původních rozměrech. Například požadavek na zobrazení obrázku 1080x720 v rozměru 2000x2000 vrátí obrázek v rozměru 1080x720.

Pokud je obrázek větší, zmenší se tak, aby se vešel do cílové oblasti při zachování původního poměru stran.

V níže uvedeném příkladu je obrázek 1080x720 změněn tak, aby se vešel do cílové oblasti 500x500. Protože scale-down zachovává původní poměr stran (3:2), konečné rozměry výstupního obrázku jsou 500x333.

původní obrázekcílová oblastvýstup pro fit=scale-down

Původní
1080 x 720 (3:2)

Požadováno
500 x 500 (1:1)

Output
500 x 333 (3:2)

contain

Zvětší obrázek na maximální možnou velikost v rámci cílového width a height rozměry při zachování původního poměru stran.

Pokud je původní obrázek větší než cílová oblast, zmenší se tak, aby se do ní vešel (podobně jako scale-down).

Pokud je menší, místo toho se zvětší (podobně jako scale-up). Funguje s upscale pro řízení algoritmu zvětšování obrázku. Chcete-li se vyhnout zvětšování (upscaling), použijte scale-down.

cover

Vyplní celou cílovou oblast, přičemž obrázek podle potřeby zmenší nebo zvětší. Výstupní oblast vždy odpovídá požadované width a height přesně dané rozměry.

Pokud se poměr stran originálu a cíle liší, obrázek se změní tak, aby pokryl celou cílovou oblast, a přebytečná část se ořízne. Použijte gravity pro řízení, která část obrázku se zachová při oříznutí.

Funguje s upscale pro řízení algoritmu zvětšování obrázku.

V níže uvedeném příkladu je obrázek 1080×720 nejprve změněn na 750×500 (podle požadované výšky), aby se vešel do cílové oblasti, a poté oříznut zleva a zprava na konečné rozměry 500x500.

původní obrázekcílová oblastvýstup pro fit=cover

Původní
1080 x 720 (3:2)

Požadováno
500 x 500 (1:1)

Output
500 x 500 (1:1)

Pokud je původní obrázek menší než cílová oblast, místo toho se zvětší. Zvětšování obrázku zabráníte použitím crop.

crop

Změní velikost obrázku tak, aby vyplnil cílovou oblast, bez zvětšení nad rámec originálu.

Pokud je původní obrázek menší než cílová oblast, zachová si původní velikost i poměr stran (podobně jako scale-down).

V níže uvedeném příkladu je původní obrázek (1080x720) menší než cílová oblast (1296x1296), takže si zachovává původní velikost a poměr stran.

původní obrázekcílová oblastvýstup pro fit=crop

Původní
1080 x 720 (3:2)

Požadováno
1296 x 1296 (1:1)

Output
1080 x 720 (3:2)

Pokud je původní obrázek větší než cílová oblast, chová se stejně jako cover (vyplní cílovou oblast a zbytek ořízne) místo toho.

aspect-crop

Ořízne obrázek podle cílového poměru stran, v případě potřeby ho zmenší, ale nikdy nezvětší.

Pokud je původní obrázek větší než cílová oblast, zmenší se na nejmenší velikost, která ještě vyplní cílové rozměry, a poté se ořízne podle cílového poměru stran (podobně jako cover).

Pokud je původní obrázek menší než cílová oblast, zachová si původní velikost, ale ořízne se podle cílového poměru stran. Na rozdíl od crop, která u menších obrázků zachová jejich původní velikost a rozměry, aspect-crop vždy vynucuje cílový poměr stran.

Obrázek 612x613 požadovaný ve velikosti 1920x1120 se tedy nezvětší. Zůstane ve své původní velikosti a oříznutím se upraví na 612x357, což odpovídá poměru stran 1920:1120. Použijte gravity pro řízení, která část obrázku se zachová při oříznutí.

pad

Zvětší obrázek na maximální možnou velikost v rámci daných rozměrů. V případě potřeby se výstupní oblast rozšíří tak, aby odpovídala width a height přesně dané rozměry.

Funguje s background pro vyplnění prázdných nebo průhledných pixelů. U webových aplikací však často dosáhnete stejného vizuálního výsledku pomocí contain s vlastností CSS object-fit: contain díky čemuž se do samotného obrázku nekódují vycpávkové pixely.

V níže uvedeném příkladu je původní obrázek (1080x720) menší než cílová oblast (1080x1080), takže vzniká prostor pro zbývající pixely.

původní obrázekcílová oblastvýstup pro fit=pad

Původní
1080 x 720 (3:2)

Požadováno
1080 x 1080 (1:1)

Output
1080 x 1080 (1:1)

squeeze

Změní velikost obrázku tak, aby přesně odpovídala požadované šířce a výšce, bez oříznutí okrajů nebo omezení částí obrázku.

Pokud se poměr stran originálu a cíle liší, obrázek se zkreslí tak, aby se vešel do cílové oblasti.

původní obrázekvýstup pro fit=squeeze

Původní
1080 x 720

Output
1080 x 540

původní obrázekvýstup pro fit=squeeze

Původní
1080 x 1080

Output
1080 x 540

scale-up

Změní velikost obrázku tak, aby se vešel do zadaných rozměrů při zachování původního poměru stran, ale nikdy jej nezmenší. Jedná se o opak funkce scale-down.

Pokud je původní obrázek větší než cílová oblast, vrátí se v původních rozměrech.

Pokud je původní obrázek menší než cílová oblast, zvětší se tak, aby se vešel do cílových rozměrů. Použijte upscale pro řízení algoritmu použitého při zvětšování obrázků: nastavte upscale=generate pro zvětšování obrázků pomocí AI nebo upscale=interpolate (výchozí) pro bikubickou interpolaci.

flip

Převrátí obrázek horizontálně, vertikálně nebo obojí.

Přijímá následující hodnoty:

Flip lze použít s rotate pro nastavení orientace obrázku. Převrácení (flip) se provádí před otočením. Pokud například použijete flip=h,rotate=90, pak se obrázek nejprve překlopí vodorovně a poté otočí o 90 stupňů.

Původní obrázekvýstup pro flip=hvýstup pro flip=v
Původníflip=hflip=v
flip=h
cf: {image: {flip: "h"}}

format | f

Určuje výstupní formát obrázku.

Přijímá následující hodnoty:

format=auto
f=auto
cf: {image: {format: "avif"}}

Chcete-li použít format=auto s vlastním Workerem musíte parsovat Accept hlavičku. Více informací najdete v tento ukázkový Worker pro úplný přehled nastavení Workeru pro transformaci obrázků.

Vlastní Worker pro změnu velikosti obrázků s parametrem format:auto
const accept = request.headers.get("accept");
let image = {};

if (/image\/avif/.test(accept)) {
	image.format = "avif";
} else if (/image\/webp/.test(accept)) {
	image.format = "webp";
}

return fetch(url, { cf: { image } });

gamma

Upraví expozici obrázku pomocí násobitele. Gama ovládá jas středních tónů, aniž by ovlivnilo nejtmavší nebo nejsvětlejší části obrázku.

Původní obrázekvýstup pro gamma=0.5výstup pro gamma=2
Původnígamma=0.5gamma=2
gamma=0.5
cf: {image: {gamma: 0.5}}

gravity | g

Určuje, jak se má obrázek oříznout při použití s fit=cover a fit=crop. Cloudflare ve výchozím nastavení ořízne obrázek směrem ke středovému bodu originálu.

Přijímá auto, face, strana (left, right, top, bottom) a relativní souřadnice (XxY).

gravity=auto
g=auto
gravity=face
gravity=left
gravity=0.5x1
cf: {image: {gravity: "auto"}}
cf: {image: {gravity: "face"}}
cf: {image: {gravity: "left"}}
cf: {image: {gravity: {x:0.5, y:0.2}}}

auto

Automaticky nastaví ohniskový bod pomocí algoritmu detekce významnosti, který najde vizuálně nejzajímavější pixely.

To se hodí v případech, kdy předem neznáte obsah obrázku, například u obsahu generovaného uživateli. U rozsáhlých knihoven obrázků, jako jsou produktové galerie e-shopů, tato funkce odstraňuje nutnost ručně nastavovat ohniskový bod pro každý obrázek.

původní obrázekvýstup bez gravity=autovýstup s gravity=auto
PůvodníVýchozí oříznutí

gravity=auto

face

Automaticky nastaví ohniskový bod podle tváří na obrázku.

Toto lze kombinovat s zoom pro určení, jak těsně se má obrázek oříznout kolem obličeje.

původní obrázekvýstup bez gravity=facevýstup s gravity=face
PůvodníVýchozí oříznutí

gravity=face

Fotografie od Suad Kamardeen (@suadkamardeen) on Unsplash ↗

left, right, top, bottom

Určuje stranu obrázku, která se nesmí oříznout.

V níže uvedeném příkladu je obrázek 1080x720 oříznut na oblast 1080x400, počínaje od spodního okraje:

původní obrázekvýstup bez gravity=auto
Původní

gravity=bottom

XxY

Nastaví ohniskový bod (X,Y) tak, aby relativní souřadnice výstupního obrázku odpovídaly relativním souřadnicím původního obrázku. Přijímá dvojici souřadnic ve formátu XxY, kde X a Y jsou desetinné hodnoty mezi 0.0 a 1.0.

Změňte ohniskový bod pomocí relativních souřadnic

Následující příklad ořízne obrázek o rozměrech 900x900 na 300x900 pomocí bodu gravitace 0.33x0.5:

původní obrázekzarovnání bodů gravitace v původní a cílové oblastioříznutí pomocí nového bodu gravitacekonečný výstup
Původní
Zarovnání
Crop
Output

Při optimalizaci pomocí Workers použijte objekt {x, y} k určení souřadnic. Například {fit: "cover", gravity: {x:0.5, y:0.2}} oříznou každou stranu tak, aby se co nejvíce zachovalo okolí bodu ve výšce 20% původního obrázku.

height | h

Nastaví výšku výstupního obrázku v pixelech pomocí kladného celého čísla. Cloudflare ve výchozím nastavení použije původní výšku vstupního obrázku.

Když height je nastaveno, přesné chování závisí na fit .

height=250
h=250
cf: {image: {height: 250}}

metadata

Určuje množství neviditelných metadat (EXIF), která mají být zachována u obrázku JPEG. U všech ostatních výstupních formátů (např. WebP nebo PNG) budou veškerá metadata vždy odstraněna.

Barevné profily a rotace EXIF se na obrázek použijí i v případě, že jsou metadata odstraněna.

Přijímá následující hodnoty:

metadata=none
cf: {image: {metadata: "none"}}

onerror

Přesměruje uživatele na URL adresu původního zdrojového obrázku, pokud transformaci obrázku zabrání fatální chyba. Přijímá redirect. Výchozí hodnota je none.

Tato možnost funguje pouze tehdy, když se obrázek nachází ve stejné zóně (subdomény jsou akceptovány). Pokud původní obrázek pochází z jiné zóny, nemá možnost žádný účinek.

To může být užitečné v případech, kdy obrázek vyžaduje ověření uživatele a nelze jej přes Workers načíst anonymně. Tuto možnost však nedoporučujeme, pokud je zdrojový obrázek velmi velký.

onerror=redirect

quality | q

Určuje výstupní kvalitu obrázku pro formáty JPEG, WebP a AVIF, vyjádřenou jako pevnou hodnotu nebo úroveň percepční kvality. Výchozí hodnota je 85.

Pokud je výstupním formátem PNG, výslovné quality nastavení umožňuje použít variantu formátu PNG8 (paletu).

quality=50
quality=low
q=50
cf: {image: {quality: 50}}
cf: {image: {quality: "high"}}

rotate

Otočí obrázek o zadaný počet stupňů. Přijímá 90, 180, nebo 270. Výchozí hodnota je 0 (bez otočení).

Otočení se provádí před změnou velikosti; width a height se budou vztahovat k osám po otočení obrázku.

Původní obrázekvýstup rotate=180
Původnírotate=180
rotate=90
cf: {image: {rotate: 90}}

saturation

Upraví sytost barev obrázku pomocí násobitele.

Původní obrázekvýstup saturation=0výstup saturation=2
Původnísaturation=0saturation=2
saturation=0.5
cf: {image: {saturation: 0.5}}

segment

Automaticky izoluje objekt na obrázku tak, že pozadí nahradí průhlednými pixely. Přijímá foreground. Výchozí hodnota je none.

Tato funkce využívá open-source model s názvem BiRefNet prostřednictvím Workers AI. Přečtěte si více o Cloudflare přístup k odpovědné AI ↗.

Původní obrázekvýstup segment=foreground
Původnísegment=foreground
segment=foreground
cf: {image: {segment: "foreground"}}

sharpen

Použije filtr doostření, který zvýrazní hrany v obrázku. Přijímá desetinnou hodnotu od 0 (bez doostření) až 10 (maximální doostření). Výchozí hodnota je 0. Doporučená hodnota pro zmenšené obrázky je 1.

Původní obrázekvýstup sharpen=5
Původnísharpen=5
sharpen=2
cf: {image: {sharpen: 2}}

slow-connection-quality | scq

Přepisuje quality hodnotu, kdykoli je zjištěno pomalé připojení. Přijímá stejná pevná nebo percepční nastavení jako kvalita. Výchozí hodnota je none.

Chcete-li detekovat pomalá připojení, povolte v hlavičce HTTP libovolné z následujících client hints:

accept-ch: rtt, save-data, ect, downlink

slow-connection-quality se použije, pokud je přítomen client hint a je splněna některá z následujících podmínek:

slow-connection-quality=50
scq=50

trim

Odstraní pixely po stranách obrázku.

Tuto funkci lze použít k oříznutí obrázku podle barev jeho okrajů nebo podle zadaného počtu pixelů z jeho strany či stran.

Trim zohledňuje dpr a provádí se před změnou velikosti a otočením.

border

Automaticky ořízne okraje obrázku na základě barvy jeho okraje.

trim=border lze dále upravit pomocí následujících parametrů:

top;right;bottom;left

Určuje počet pixelů, které se odstraní z okrajů obrázku. Přijímá čtyři hodnoty oddělené středníkem, kterými se najednou nastaví oříznutí na všech čtyřech stranách obrázku.

Všechny hodnoty trim přijímají buď celé číslo (počet pixelů), nebo desetinné číslo mezi 0 a 1 představující zlomek rozměru obrázku. Například 0.25 ořízne 25% z této strany.

Trim lze také použít na konkrétní stranu pomocí následujících parametrů:

trim=border
trim.height=800
// This sets the height of the image to 800 pixels from the top of the image, then trims everything below that point

trim.left=800
// This removes 800 pixels from the left of the image

trim=0.1;0.2;0.1;0.2
// This trims 10% from the top and bottom, and 20% from the left and right

trim.top=0.25
// This trims 25% of the image height from the top
cf: {image: {trim: {top: 12, right: 78, bottom: 34, left: 56, width: 678, height: 678}}}
// Using decimals to trim 10% from each side:
cf: {image: {trim: {top: 0.1, right: 0.1, bottom: 0.1, left: 0.1}}}

upscale

Určuje algoritmus použitý při zvětšování obrázku. Tento parametr funguje s jakýmkoli fit režimu, který zvětšuje obrázek, jako je contain, cover, a scale-up. Nemá žádný účinek, pokud fit=scale-down nebo když jsou cílové rozměry menší než zdrojové.

Přijímá následující hodnoty:

Když upscale=generate je zadáno, model AI provede jeden průchod na nejbližším podporovaném měřítku (2x nebo 4x) a poté upraví výsledek na přesné cílové rozměry. Faktory měřítka nad 4x se řeší tak, že se obrázek nejprve zvětší pomocí AI na 4x a zbytek se dopočítá bikubickou interpolací.

upscale=generate
cf: {image: {upscale: "generate"}}

width | w

Nastaví šířku výstupního obrázku v pixelech pomocí kladného celého čísla. Cloudflare ve výchozím nastavení použije původní šířku vstupního obrázku.

Když width je nastaveno, přesné chování závisí na fit .

Přijímá následující hodnoty:

width=250
w=250
cf: {image: {width: 250}}

width=auto podparametry

Když width=auto je zadáno, Cloudflare změní velikost obrázku na základě informací z Client Hints (odesílaných prohlížečem), případně jako záložní řešení pomocí detekce User-Agent.

Můžete přizpůsobit width=auto chování pomocí následujících dílčích parametrů:

Dílčí parametr Popis Výchozí
wbreakpoints Přepište výchozí šířky breakpointů v pixelech (client hints) 320;768;960;1200
wmobile Přepište výchozí šířku v pixelech pro mobilní zařízení (detekce user-agent) 768
wdesktop Přepište výchozí šířku v pixelech pro stolní zařízení (detekce user-agent) 1200

Při optimalizaci vzdálených obrázků pomocí width=auto, každá unikátní šířka se počítá jako samostatná zpoplatněná transformace.

Chcete-li se dozvědět, jak width=auto funguje, přečtěte si našeho průvodce k doručování responzivních obrázků.

wbreakpoints=320;768;960;1920 // Changes the largest breakpoint to 1920 pixels
wbreakpoints=320;768;960;1200;1920 // Adds another breakpoint at 1920 pixels
cf: {image: {wbreakpoints: "320;768;960;1920"}}

zoom | face-zoom

Určuje, jak těsně se obrázek ořízne směrem k rozpoznaným obličejům v kombinaci s gravity=face Přijímá platný rozsah mezi 0.0 (zahrnuje co nejvíce pozadí) a 1.0 (oříznutí obrázku co nejblíže obličeji). Výchozí hodnota je 0.

zoom=0.1
cf: {image: {zoom: 0.5}}

Velikosti obrázků by v ideálním případě měly odpovídat přesné velikosti, ve které se zobrazují na stránce. Pokud stránka obsahuje miniatury se značkováním, jako je například <img width="200" …>, pak by obrázky měly být změněny na velikost width=200.

Chcete-li doručovat responzivní obrázky, můžete použít HTML srcset atribut, aby si poskytovatel mohl vybrat nejvhodnější velikost. Pokud nemůžete použít <img srcset> a musíte natvrdo zadat konkrétní maximální rozměry, Cloudflare doporučuje následující velikosti:

Například fit=scale-down,width=1920 nastaví maximální velikost na 1920px a zajistí, že obrázek nebude zbytečně zvětšen.

Typ zařízení můžete detekovat povolením CF-Device-Type hlavička prostřednictvím Cache Rule.

Ukládání do mezipaměti

Když optimalizujete pomocí Images, původní obrázek se načte z origin serveru a uloží do cache podle běžných pravidel HTTP cachování, Cache-Control hlavička atd. Požadavky na více různých velikostí obrázků pravděpodobně znovu použijí obrázek uložený v mezipaměti, aniž by způsobily další přenosy z origin serveru.

Pokud Custom Cache Keys se použijí pro původní obrázek, nemusí se tento obrázek uložit do mezipaměti a může to vést k většímu počtu volání na origin.

Optimalizované obrázky se řídí stejnými pravidly ukládání do cache jako původní obrázek, ze kterého vznikly, s tím rozdílem, že minimální doba uložení v cache je jedna hodina. Pokud potřebujete obrázky aktualizovat častěji, přidejte must-revalidate do Cache-Control hlavička. Služba Images podporuje revalidaci mezipaměti, proto doporučujeme doručovat obrázky s Etag hlavička. Podrobnosti najdete v Dokumentace k Cache s dalšími informacemi.

Cloudflare nepodporuje jednotlivé mazání optimalizovaných obrázků z mezipaměti. Adresy URL začínající na /cdn-cgi/ nelze vyčistit. Vyčištění adresy URL původního obrázku ale vyčistí i všechny jeho optimalizované verze.