WinRT, a probléma a képernyő felbontása és zoom

WinRT --- problémák képernyő felbontása és zoom

A legtöbb Windows 8 kérelem alapja az esetekben az osztály oldal. Természetesen ez nem követelmény, de rendelkezik néhány kényelmi, mint a könnyebb integráció sorok alkalmazásokat. Mielőtt ez a cikk ismerteti csak a programok, amelyek csak például egy osztályban, amit Oldal nevű Főoldal. Itt az ideje, hogy ezt támogató programokkal, többoldalas navigációs stílusú webes alkalmazások.

A Visual Studio sablon két multi-alkalmazási projektek - Rács App és Split App. Ezek a sablonok épülnek alapján erős kontroll ListView és GridView és használja őket a képviselet a modell. Ezek a sablonok is reagálnak a képernyő tájolását és üzemmód Snap View, hogy ez és a következő cikkben lesz egy jó kiindulási pont a problémákat, amelyek a változás az ablak méretét.

Feldolgozási ablak átméretezés - a probléma ismert Windows-programozók. A legtöbb hagyományos asztali Windows-alapú programok képkockaméretet változásnak, amelynek segítségével a felhasználó vezérelheti a méretét és arányait az alkalmazás ablakában. A Windows-programozók 25 éve tanított programokat írni, amelyek alkalmazkodnak a, a felhasználó által kiválasztott ablak méretét. Természetesen ez nem mindig lehetséges: úgy kéne csinálni egy táblázatot, ha a felhasználó csökkenti az ablakot úgy, hogy nem lesz látható sejt? Egyes programok - mint például a számológép - egyszerűen állítsa fix ablak mérete elegendő teljes tartalmának megjelenítéséhez a program. A hagyományos asztali alkalmazások ezt a megoldást csak akkor elfogadható, ha az ablak nyilvánvalóan kisebb, mint a képernyőn.

Windows 8 app alapvetően működik a teljes képernyős módban, és a minimális képernyő mérete a probléma kevésbé fontos számukra. Azonban a Windows 8 alkalmazások is változhat a képernyő tájolását és befogadás Snap View, és a legtöbb alkalmazás kell kezelni az ilyen változásokat.

Problémák képernyőfelbontás

A számítógép képernyőjén egy rögzített vízszintes és függőleges felbontást pixel, valamint a fizikai méret, amely általában az értéket hüvelyk átlósan. Ismerve a méret a Pitagorasz-tétel, ki tudjuk számítani a felbontást pixel per inch (ez a készülék is rövidítése DPI - Dots Per Inch).

Például, képernyőátló a 1024 x 768 pixel egyenlő 1280 pixel. Ha a fizikai mérete átlója 12 hüvelyk, a felbontás 106 DPI. Átlós 23 hüvelykes szabványos asztali monitor módban a nagy felbontású, 1920 x 1080 pixel, amely körülbelül 2203 pixeles felbontással 96 DPI. A 27 hüvelykes monitor képernyőjén 2560 x 1440 pixel felbontású mintegy 109 DPI.

Korábban már említettem, hogy a képernyő felbontása is tekinthető egyenlő 96 pixel per inch. Mint látható, ez a becslés nem rossz három monitor a fenti példából, bár akkor találkoznak monitorok, amelyre rendszerint jelentősen torzította: munkahelyi, azt használják a Samsung tablet, a képernyő mérete 1366 x 768 és 11,6 hüvelyk felbontással 135 DPI. Ha felhívni a képernyőn, egy négyzet oldala 96 pixel helyett hüvelyk oldalsó hossza körülbelül 0,7 hüvelyk.

A feltételezés felbontása 96 DPI gyakran sérülnek kis képernyőkön több pixel. Vegyük például a képernyő átlója mérete 10,6 hüvelyk, és a 1920 x 1080 pixel. Az állásfoglalás egy ilyen képernyő 208 DPI; illetve inch (programozó vélemény) lehetőség lesz ez kevesebb, mint egy hüvelyk. Szöveg csökken, és bár továbbra is olvasható köszönhetően a magas sűrűségű pixel, hogy műveleteket hajtson végre velük az érintőképernyő már kényelmetlen.

Emiatt a Windows 8 megpróbálja kompenzálni a nagy felbontású képernyő segítségével, viszonylag átlátszó a kérelmet, ha a képernyő mérete pixel 2560 x 1440 és a fenti, valamint a fizikai mérete, például, 12 inch (mely felbontása 240 DPI felett), Windows változik pixel koordinátákat és méretek alkalmazásához felhasznált 180%. Abból a szempontból, az alkalmazás képernyő 2560 x 1440 felbontás 1422 x 800 pixel.

Ha a képernyő nem olyan nagy pixelsűrűség, de a mérete nem kevesebb, mint 1920 x 1080, és a fizikai mérete elég kicsi ahhoz, hogy a felbontása 174 dpi vagy nagyobb, Windows 8 megváltoztatja minden képpontméreteket 140%; így a képernyő 1920 x 1080 szempontjából az alkalmazás mérete 1371 x 771 pixel.

Ne feledje, hogy az összes ilyen automatikus korrekciót alkalmaznak csak a fizikailag kis képernyőkön több pixel. Fizikailag a nagy képernyőn az aktuális felbontás alatti 174 DPI nem fog változni, ezért az alkalmazás „látni” a teljes méretű.

A Windows Runtime várható kijelző felbontása logikai definíció (logikai DPI). Általában a logikai felbontás 96, de képernyők nagy képpont sűrűsége, lehet 134,4 (96 DPI, szorozva 140%), vagy 172,8 (96 DPI, szorozva 180%).

Lássuk, hogyan működik ez a rendszer. A program hasonló a WhatRes WhatSize programot cikkben bemutatott események átméretezése és tájékozódás WinRT. de azon túl az ablak méretét (ami ugyanaz, mint az oldal mérete), akkor kap információt a képernyő felbontását.

XAML fájlt WhatRes projekt egyszerűen létrehoz egy példányt TextBlock:

kód mögött fájlt oszt rakodók eseményekre SizeChanged oldalon, valamint a statikus események LogicalDpiChanged osztály DisplayProperties, egy bizonyos tér Windows.Graphics.Display nevek:

Egy valós alkalmazás DisplayProperties.LogicalDpiChanged eseményt indít meglehetősen ritka, mert a képernyő mérete pixelben vagy fizikai mérete jellemzően nem változik a program végrehajtása során. Azonban az esemény bekövetkezik, ha a számítógéphez csatlakozik a Windows 8 a második monitor felbontása más logika, és mozog a programot az egyik monitorról a másikra.

WhatRes program először megszerzi az ablak méretét az ingatlanok és ActualWidth ActualHeight oldalt, majd kiszámítja a tényleges pixelméret szerint DisplayProperties.LogicalDpi.

WhatRes program alkalmas arra, hogy működjön egy emulátor a Windows 8, amely lehet kiválasztani a szabványos Visual Studio eszköztár. Az emulátor segítségével egy alkalmazás futtatásához, néhány közös méretben kapható. Például itt úgy néz ki, WhatRes emulált képernyőn az 1920 x 1080, átlós 10,6 hüvelyk:

WinRT, a probléma a képernyő felbontása és zoom

A Windows 8, az alkalmazás ablak mérete 1371 x 771, és a kijelző teljes ez a szöveg és grafika alapján ezt az összeget. A számított érték pixel megegyezik a képernyő mérete pixelben. Mint látható, a betűméret 18 pont foglal ugyanolyan relatív nagysága, valamint a képernyőn 1366 x 768.

méretezés problémák

A Windows-programozók használják a munka a koordinátákkal és méretei pixelben. Amikor a program fut egy fizikailag kis képernyő magas pixelsűrűség, a Windows mérlegek ezeket a koordinátákat és méretek méretétől függően és a képernyő felbontását.

Az első oszlopban az alábbi táblázat néhány értékeket a DIU, használható, ha a rajz és méretének meghatározása, valamint a többi oszlopban látható, hogy ezek az értékek alakítjuk, hogy közvetlenül a pixelek a képernyőn: