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
Utilizzare gRPC su App Service di Azure
Gestione dei nomi con le regole @layer in CSS
Miglioramenti agli screen reader e al contrasto in Angular
Assegnare un valore di default a un parametro di una lambda in C#
Gestire gli accessi con Token su Azure Container Registry
Effettuare il log delle chiamate a function di GPT in ASP.NET Web API
Generare HTML a runtime a partire da un componente Razor in ASP.NET Core
Creazione di componenti personalizzati in React.js con Tailwind CSS
Criptare la comunicazione con mTLS in Azure Container Apps
Gestire il colore CSS con HWB
Utilizzare un numero per gestire la concorrenza ottimistica con SQL Server ed Entity Framework
Generare velocemente pagine CRUD in Blazor con QuickGrid