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
Change tracking e composition in Entity Framework
Cambiare la chiave di partizionamento di Azure Cosmos DB
Creare una libreria CSS universale - Rotazione degli elementi
Sfruttare al massimo i topic space di Event Grid MQTT
Ottimizzare le pull con Artifact Cache di Azure Container Registry
Eseguire un metodo asincrono dopo il set di una proprietà in Blazor 8
Rinnovare il token di una GitHub App durante l'esecuzione di un workflow
Come EF 8 ha ottimizzato le query che usano il metodo Contains
Generare HTML a runtime a partire da un componente Razor in ASP.NET Core
Recuperare l'ultima versione di una release di GitHub
Il nuovo controllo Range di Blazor 9
Cancellare una run di un workflow di GitHub