Anche se la Universal Windows Platform mette a disposizione una serie di controlli per disegnare la User Interface delle nostre applicazioni, ci sono scenari nei quali avere il controllo completo di quanto viene renderizzato diventa un requisito fondamentale.
Win2D è un set di API per disegnare grafica bidimensionale utilizzando l'accelerazione grafica della GPU.
Per iniziare a utilizzare Win2D è necessario installare il relativo pacchetto Nuget, digitando il seguente comando nella console:
Install-Package Win2D.uwp
Fatto questo, è possibile aggiungere il controllo CanvasControl, che rappresenta la nostra superficie di disegno:
<canvas:CanvasControl Draw="CanvasControl_Draw" ClearColor="CornflowerBlue" />
Una volta che abbiamo creato il controllo, dobbiamo registrare un handler per l'evento Draw, in cui andremo a disegnare qualcosa in questo caso del semplice testo.
private void CanvasControl_Draw(CanvasControl sender, CanvasDrawEventArgs args) { args.DrawingSession.DrawText("Win2d", 100, 100, Colors.White); }
Questo è solo un esempio di quanto è possibile fare con Win2D, utilizzando l'accelerazione hardware delle moderne GPU.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Utilizzare l'operatore GroupBy come ultima istruzione di una query LINQ in Entity Framework
Load test di ASP.NET Core con k6
Usare le collection expression per inizializzare una lista di oggetti in C#
Inizializzare i container in Azure Container Apps
Usare una container image come runner di GitHub Actions
Utilizzare il trigger SQL con le Azure Function
Eseguire query verso tipi non mappati in Entity Framework Core
Miglioramenti nelle performance di Angular 16
Creazione di plugin per Tailwind CSS: espandere le Funzionalità del Framework
Usare Refit e Polly in Blazor per creare client affidabili e fortemente tipizzati
Utilizzare la libreria Benchmark.NET per misurare le performance
Configurare dependabot per aggiornare le dipendenze di terze parti con GitHub Actions