L'ultimo aggiornamento di Windows 10, il Creators Update, ha aggiunto una serie di nuove funzionalità molto richieste dagli sviluppatori: una di queste è relativa alla modifica della luminosità dello schermo.
Per cambiare la luminosità dello schermo è sufficiente richiedere il controllo al sistema e, una volta accertati che ci sia il supporto da parte dello schermo, impostare il nuovo livello di luminosita:
BrightnessOverride bo = BrightnessOverride.GetForCurrentView(); if (bo.IsSupported) { bo.SetBrightnessLevel(0.5, DisplayBrightnessOverrideOptions.None); bo.StartOverride(); }
In questo caso specifico il livello di luminosità è stato impostato al 50% della luminosità massima supportata dallo schermo, ma, eventualmente, è anche possibile sfruttare dei template di luminosità predefiniti dal sistema:
bo.SetBrightnessScenario(DisplayBrightnessScenario.IdleBrightness, DisplayBrightnessOverrideOptions.None);
In questo caso, invece, la luminosità verrà impostata al valore di default previsto dal sistema operativo, quindi intorno al 10%.
E' anche possibile registrarsi agli eventi BrightnessLevelChanged (per capire quando la luminosità è cambiata), IsSupportedChanged (quando un monitor con luminosità modificabile è stato aggiunto o rimosso) e IsOverrideActiveChanged (invocato quando il livello di luminosita corrisponde, o smette di corrispondere, con il livello previsto dal sistema).
Questo sistema può essere utilizzato, come mostrato qui sopra, solo in relazione all'applicazione corrente, mentre qualora fosse necessario impostare il livello di luminosità sull'intero sistema operativo (e quindi di mantenerla all'uscita dell'applicazione), bisognerà salvare il valore di cui si è fatto l'override:
await BrightnessOverride.SaveForSystemAsync(bo);
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Esporre i propri servizi applicativi con Semantic Kernel e ASP.NET Web API
Creare una libreria CSS universale: Immagini
Gestire la cancellazione di una richiesta in streaming da Blazor
Definire stili a livello di libreria in Angular
Ordine e importanza per @layer in CSS
Supportare il sorting di dati tabellari in Blazor con QuickGrid
Generare la software bill of material (SBOM) in GitHub
Creare un'applicazione React e configurare Tailwind CSS
Utilizzare EF.Constant per evitare la parametrizzazione di query SQL
Migliorare i tempi di risposta di GPT tramite lo streaming endpoint in ASP.NET Core
Creazione di plugin per Tailwind CSS: espandere le funzionalità del framework dinamicamente
Modificare i metadati nell'head dell'HTML di una Blazor Web App