Zachytit barvu pixelu z obrázku
- Dashboard
- Dokumentace
- API
Co je color picker obrázku?
Color picker (v češtině kapátko barev nebo zachycení barvy) je nástroj, který vrací přesnou hodnotu vybraného pixelu na obrázku. Nahrajete fotku, kliknete na bod, který vás zajímá, a nástroj vrátí přesnou barvu ve formě HEX, RGB a HSL. Je to webový ekvivalent kapátka v designových programech jako Photoshop, GIMP nebo Figma.
Náš nástroj funguje přímo ve vašem prohlížeči. Nahrajete svůj obrázek, zobrazí se na stránce, a stačí kliknout na pixel pro získání jeho barvy. Čtení pixelu probíhá na straně klienta přes canvas API, bez round-tripu na server, bez rekomprese a bez odesílání obrázku po síti pro selekci.
Rozdíl od extraktoru barev
Náš extraktor barev a náš color picker odpovídají na dvě odlišné potřeby, které je užitečné dobře rozlišovat:
- Extraktor analyzuje celý obrázek a vrací dominantní paletu (5, 8 nebo 10 nejvíce zastoupených odstínů). Je to nástroj volby pro syntézu barevné atmosféry fotky, vytvoření mood boardu nebo napájení grafické charty.
- Color picker vrací přesnou barvu konkrétního pixelu, který označíte. Je to nástroj volby, když víte, kam se podívat: logo v screenshotu, přesný odstín gradientu, referenční tapeta.
Extraktor pracuje s miliony pixelů a aplikuje clusterizaci pro vynoření skupin barev; picker se spokojí se čtením RGB hodnoty uložené na pozici, kterou kliknete. První zobecňuje, druhý je chirurgický.
Jak to funguje technicky
Digitální obrázek je mřížka pixelů, každý pixel nese tři RGB kanály (červený, zelený, modrý) obvykle kódované na 8 bitech, tedy 256 hodnot na kanál. Když kliknete na bod, nástroj:
- Vykreslí váš obrázek do canvas elementu, zachovávajíc jeho nativní rozměry (se stropem 1500 pixelů na šířku pro pohodlí na obrazovce).
- Konvertuje pozici kliknutí na nativní souřadnice obrázku, kompenzujíc změnu velikosti zobrazení prohlížečem.
- Čte RGBA hodnotu pixelu přes API
canvas.getContext('2d').getImageData(x, y, 1, 1). - Zobrazí náhled vybrané barvy. Při odeslání server čte stejnou pozici s PHP GD a počítá definitivní HEX, RGB a HSL kódy.
HSL hodnota je počítána naší konverzní službou barev, identickou s tou, kterou používá náš převodník barev. Konzistence od konce ke konci, získáte stejné hodnoty jako kdybyste zadali HEX kód v převodníku.
Typické případy použití
- Reprodukce barvy ze screenshotu: máte screenshot stránky, chcete přesně přebrat odstín tlačítka nebo pozadí. Picker vám dá přesný HEX kód k zpětnému vložení do CSS.
- Identifikace barvy charty na fotce: prezentační PDF, stránka časopisu, produktový vizuál. Není už potřeba žádat o chartu, čtete barvu přímo.
- Reverse engineering vizuální identity: zachycení přesné modré loga, růžové banneru, oranžové výzvy k akci.
- Inspirace a design watch: vidíte fotku, která se vám líbí, získáváte přesný odstín květiny, zdi, plakátu.
- Front-end debug: screenshot bugu ukazuje nesprávnou barvu, čtete skutečnou hodnotu pro porovnání s očekávanou v mockupu.
- Vytvoření palety z reference: pickerujete několik bodů na stejném obrázku pro rekonstrukci personalizované palety.
Jak používat color picker
- Nahrajte svůj obrázek (PNG, JPG, GIF, BMP, WebP, až 20 MB).
- Náhled se zobrazí na stránce. Klikněte na pixel pro získání jeho barvy.
- Zaměřovač označuje kliknutou pozici a náhled barvy se objeví vedle.
- Potvrďte tlačítkem odeslání pro získání finálního renderu: barevný čtverec, HEX, RGB a HSL kód.
- Pro transformaci hodnoty mezi formáty projděte přes náš převodník barev.
Často kladené otázky
Jaký je rozdíl mezi HEX, RGB a HSL?
Jsou to tři reprezentace stejné barvy. HEX (#ff0000) je
nejpoužívanější formát v CSS. RGB vyjadřuje tři kanály červený / zelený / modrý
v hodnotách 0-255. HSL (Hue, Saturation, Lightness) je intuitivnější pro úpravu
odstínu: je to preferovaný formát, když chcete ztmavit, desaturovat nebo modifikovat
barvu bez změny základního odstínu.
Proč moje kliknutí nevrací přesně očekávanou barvu?
V gradientové oblasti mohou mít dva sousední pixely velmi odlišné hodnoty. Navíc, JPG obrázky jsou komprimovány se ztrátou: barva pixelu se může lehce lišit od originálu. Pro spolehlivé barevné kódy preferujte PNG nebo nezkomprimované obrázky.
Jsou mé souřadnice ty obrazovky nebo obrázku?
Ty původního obrázku. Náš JavaScript automaticky konvertuje pozici kliknutí (v pixelech obrazovky) na pozici v nativním obrázku. Pokud váš obrázek je 4000x3000 a zobrazuje se v 800x600, kliknutí ve středu vám vrátí (2000, 1500) a ne (400, 300).
Funguje picker s průhlednými obrázky?
Ano. Pokud kliknete na průhledný pixel, získáte RGB barvu uloženou na tom místě (často bílá nebo černá podle původního editoru). Sama průhlednost (alfa kanál) není ve výsledku obnovena; pro analýzu alfa kanálu otevřete obrázek v grafickém editoru.
Jaká velikost obrázku je přijímána?
Až 20 MB, formáty PNG, JPG, GIF, BMP a WebP. Velmi velké obrázky jsou zobrazeny na maximálně 1500 pixelů šířky pro pohodlí na obrazovce, ale čtená barva zůstává ta původního pixelu, bez převzorkování.
Jsou mé obrázky uloženy na serveru?
Ne. Selekce probíhá ve vašem prohlížeči. V okamžiku odeslání je soubor zpracován za běhu pro potvrzení barvy požadovaného pixelu, pak je dočasný soubor smazán. Žádný obrázek není uchován, indexován nebo sdílen.
Co se stane, když je JavaScript zakázán?
Klasické odeslání formuláře zůstává možné. Souřadnice x a y jsou spravovány skrytými poli, která JavaScript vyplňuje při kliknutí. Bez JavaScriptu zůstávají tato pole prázdná a formulář bude signalizovat chybějící pozici, ale samotný obrázek je předán serveru ke zpracování.
Ukázka požadavku
curl -X POST https://cdrn.fr/api/v1/tools/color-picker/execute \
-F "image=@/path/to/file" \
-F "x=..." \
-F "y=..."
Vstupní schéma
| Pole | Typ | Povinné | Výchozí |
|---|---|---|---|
image |
file | ✓ | – |
x |
string | – | – |
y |
string | – | – |
tento nástroj očekává soubor - použijte Content-Type multipart/form-data místo application/json
Koncové body
GET https://cdrn.fr/api/v1/tools- vypíše všechny dostupné nástrojeGET https://cdrn.fr/api/v1/tools/color-picker- získá schéma tohoto nástrojePOST https://cdrn.fr/api/v1/tools/color-picker/execute- spustí tento nástroj s JSON payloadem