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
Specificare il versioning nel path degli URL in ASP.NET Web API
Personalizzare l'errore del rate limiting middleware in ASP.NET Core
Effettuare chiamate con versioning da Blazor ad ASP.NET Core
Applicare il versioning ai nostri endpoint ASP.NET Core Minimal API
Gestire domini wildcard in Azure Container Apps
Generare token per autenicarsi sulle API di GitHub
Supportare il sorting di dati tabellari in Blazor con QuickGrid
Utilizzare HiLo per ottimizzare le insert in un database con Entity Framework
Utilizzare la session affinity con Azure Container Apps
Usare Refit e Polly in Blazor per creare client affidabili e fortemente tipizzati
Workflow di continuous deployment tramite pull request label in GitHub
Creazione di plugin per Tailwind CSS: espandere le funzionalità del framework dinamicamente