Windows 8 si apre ad una varietà di device come tablet, PC e TV, con dimensioni e risoluzioni dello schermo molto diverse tra loro.
Mentre questa varietà non è un problema per immagini vettoriali o elementi XAML, che si possono adattare dinamicamente senza perdita di qualità, nel caso di immagini BMP queste hanno dimensioni ben precise e lasciare che vengano adattate automaticamente può generare artefatti inattesi o scarsa visibilità.
Poichè in Windows 8 è stata fatta grande cura all'usabilità complessiva, questo scenario è stato gestito nativamente in WinRT il quale, a fronte di una immagine, cerca autonomamente la presenza di un file corrispondente ai DPI del sistema operativo, per mostrarla in alternativa all'immagine di base, solitamente a 96dpi.
Per sfruttare questa funzionalità dobbiamo rispettare una serie di convenzioni dei nomi dei file.
Le proporzioni di riferimento sono quattro: 80, 100, 140 e 180.
- 100: corrisponde alle risoluzioni di base (normal DPI) come 1024x768px e 1366x768px;
- 140: risoluzioni HD 1920x1080px;
- 180: oltre HD, come 2560x1440px;
- 80: solo per logo, wideLogo e smallLogo;
A ciascuna proporzione corrisponde un suffisso scale-* da aggiungere al nome del file; prendiamo ad esempio winrtitalia.png, per ognuna di esse dovremo creare i seguenti file di immagine:
- winrtitalia.scale-100.png;
- winrtitalia.scale-140.png
- winrtitalia.scale-180.png
- winrtitalia.scale-80.png (ma solo in caso sia uno dei tre logo per l'app)
Dobbiamo considerare le immagini 140, 180 e 80 come le dimensioni in percentuali dell'immagine 100, quindi se tale immagine di base fosse 100x100px la relativa 180 sarà di 180x180px.

Comunque, sia nel codice che nel markup, dobbiamo sempre riferirci a winrtitalia.png con le modalità di cui abbiamo parlato nello script #6, l'accesso al file specifico avviene in modo trasparente.
Per migliorare la qualità complessiva delle immagini è consigliato che queste abbiano dimensioni in multiplio di 5 pixel.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Migliorare la scalabilità delle Azure Function con il Flex Consumption
Paginare i risultati con QuickGrid in Blazor
Evitare il flickering dei componenti nel prerender di Blazor 8
Il nuovo controllo Range di Blazor 9
Utilizzare il metodo ExceptBy per eseguire operazione di sottrazione tra liste
Ordine e importanza per @layer in CSS
Aprire una finestra di dialogo per selezionare una directory in WPF e .NET 8
Sfruttare GPT-4o realtime su Azure Open AI per conversazioni vocali
Migliorare i tempi di risposta di GPT tramite lo streaming endpoint in ASP.NET Core
Creare una libreria CSS universale: i bottoni
La gestione della riconnessione al server di Blazor in .NET 9
Migliorare l'organizzazione delle risorse con Azure Policy