To je dost složitý problém míchání relativních a absolutních jednotek na webu. Ve zkratce: když někdo do boxu o velikosti 5 cm vloží obrázek o šířce 100 px, bude to na každém počítači vypadat jinak. Proto se stalo standardem, že v prohlížeči je hodnota DPI natvrdo nastavená na 96. Pak to všude vypadá stejně, protože všude platí, že 5 cm je 189 px.
To funguje dobře u běžných počítačů, kde DPI zhruba odpovídá těm 96. Je jedno jestli je to 103 nebo 86, ale tak nějak to vypadá rozumně. Ovšem na různých super ultra turbo HD displejích leze DPI ke dvěma stovkám a všechen obsah počítaný na 96 je proto strašně titěrný. Proto je celkem rozumné to pak v nějakém poměru zazoomovat.
Čili tady není problém v tom zoomu samotném, ale v konkrétní implementaci, kterou se snad podaří vyladit. Ideální by bylo mít možnost v nastavení si ten faktor nastavit: auto, 1, 2, 3…
Jde o to že když máš rozlišení třeba 4K nebo podobně jemný displej tak máš celý systém (ovládací prvky) zvetšené jinak je to nečitelné. Jasně můžeš si nazoomovat web ale chrome zůstával doteď mrňaví (záložky chromu, adresní řádek...). To byl měl řešit tento update jestli to chápu správně.
OS to neřeší za programy. Když program dodá ikonku 24x24 pixelů, tak se prostě zobrazí ikonka 24x24 pixelů. Program sám musí brát v úvahu, že 24 pixelů může být jednou centimetr a jindy 2 milimetry. Konkrétně MS Windows to řeší tím, že má svých ikonek několik sad a ikonky na ploše umí "zoomovat". Ale co si dělá aplikace sama ve svém GUI je jim už jedno. Respektive nemají potřebu do toho aplikacím kecat. Aplikace se může na "geometrii" zeptat a podle toho se zařídit. Ale OS to za ní (díky bohu) nedělá.
Jen doplním, že totéž se týká třeba Androidu. Například můj oblíbený widget IPv6 status se na HD displeji zobrazí asi tak milimetr krát milimetr. Na horším rozlišení má velikost pěkné ikonky.
neni snad problem dodavat ikonu vektorovou v SVG a nastaveni v OS bude urcovat zoom factor oken, ovladacich prvku a tedy i ikon a menu, prohlizec by opravdu mel resit jen zoom factor pro oblast kde vykresluje stranky, a prohlizec ktery podporuje zoom (tedy kazdej) by mel mit jen detekci rozliseni a podle toho korigovat 100% "vlevo nebo vpravo"...
Bohužel to má několik problémů: bitmapa je jako vyjadřovací prostředek flexibilnější, a škálování vektorů na nízké rozlišení (třeba 16x16 pixelů) může dopadnout hrozně. Pro malou verzi ikony může vývojář použít trochu odlišnou bitmapu, u které zvýrazní důležité prvky, a upozadí to co by na malé ikoně bylo matoucí.
Pokud bude nastavena dobře a všechny aplikace ji použijí, tak bude svět dokonalý. V tom skutečném je na rozhodnutí autora, jestli ten údaj použije. Pokud ne, tak ještě není vše ztraceno, pokud to použije toolkit. Ale ten už nedělá všechno, bitmapa, canvas apod. je pro něj tabu. No a pak je tu ještě OS (respektive window manager), kdo dokáže něco opravit, ale tam to obvykle končí u dekorací a rozměrů okna.
aha, dekuji za objasneni. me prekvapilo uz to, ze se do webove stranky napise 5 cm, kdyz autor webove stranky nevi nic o displeji uzivatele. jsem z latexu zvykly pouzivat relativni jednotky em, neboli velikost kuzelky.
proc vlastne se zauzivalo 96 dpi, a proc se browser proste nezepta OS na aktualni DPI?
Právě kvůli těm relativním rozměrům. Na jednom displeji by to vypadalo vedle sebe všechno dobře, ale na Macbooku s Retinou by byly některé objekty čtvrtinové – rozbily by se poměry a zoom by nepomohl, protože by se zase zvětšovalo všechno. Ono ani jedno z těch řešení není dobré, ale tohle je méně špatné a už jsou na něj všichni zvyklí.
hm, ale to je dusledek spatne webove stranky, ne?
1, pokud autor pouziva vsude centimetry, tak se velikosti spocitaji spravne pokud se browser zepta OS na dpi.
2, pokud autor pouziva vsude relativni jednotky, tak se to zobrazi taky spravne - uzivatel ma treba zakladni pismo OS nastavene tak aby se mu na to dobre koukalo.
3, pokud autor jednou pouzije centimetry a jednou relativni jednotky, tak to proste bude na jinem displeji vypadat jinak, ale to je imho blbost autora stranky...?
anebo jsem to vubec nepochopil.
Tento přístup se mi líbí, konečně bych na svém patnáctipalcovém FullHD displeji mohl přestat používat rozšíření na automatické zvětšení písma.
Jenže problém je v tom, že Chrome bere okno aplikace jako celek a jako celek ho i škáluje (zřejmě pomocí OpenGL).
Takto zvětšený text vypadá velmi nepřirozeně - je chlupatý a rozostřený.
Mnohem lepší by bylo, kdyby na obsah stránky použil již dlouho implementovaný zoom (lupu).
Tady je to správně: grafické prvky jsou uměle zvětšeny a text je znovu vyrendrován v odpovídající velikosti.