Conoscere la scala dei DPI a runtime in WinRT

di Alessio Leoncini, in WinRT,

Nello script #7 (https://www.winrtitalia.com/script/7/Convenzioni-Mostrare-Immagini-Specifiche-DPI-App-Windows.aspx) abbiamo visto come l'engine di WinRT possa cercare automaticamente delle specifiche immagini in relazione alla densità dei pixel, al fine di rendere migliore l'aspetto generale delle app.

Oltre all'automatismo, possiamo conoscere la scala dei DPI anche a runtime grazie alla classe statica DisplayProperties (namespace Windows.Graphics.Display) ed in particolare alla proprietà ResolutionScale, la quale è il seguente enumeratore:

public enum ResolutionScale
{
    Invalid = 0,
    Scale100Percent = 100,
    Scale140Percent = 140,
    Scale180Percent = 180
}

Grazie a questo oggetto possiamo creare le nostre logiche in modo molto semplice.

switch (DisplayProperties.ResolutionScale)
{
  case ResolutionScale.Scale100Percent:
    break;
  case ResolutionScale.Scale140Percent:
    break;
  case ResolutionScale.Scale180Percent:
    break;
  default:
    throw new Exception("Unknown Scaling Factor");
}

DisplayProperties espone inoltre la proprietà LogicalDpi che esprime il valore preciso dei DPI del sistema dell'utente.

Commenti

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Approfondimenti

I più letti di oggi