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
Usare Refit e Polly in Blazor per creare client affidabili e fortemente tipizzati
Generare file per il download da Blazor WebAssembly
Eseguire un metodo asincrono dopo il set di una proprietà in Blazor 8
Utilizzare la versione generica di EntityTypeConfiguration in Entity Framework Core
Utilizzare l'operatore GroupBy come ultima istruzione di una query LINQ in Entity Framework
Usare un KeyedService di default in ASP.NET Core 8
Utilizzare database e servizi con gli add-on di Container App
Trasformare qualsiasi backend in un servizio GraphQL con Azure API Management
Configurare dependabot per aggiornare le dipendenze di terze parti con GitHub Actions
Load test di ASP.NET Core con k6
Eseguire una query su SQL Azure tramite un workflow di GitHub
Miglioramenti nell'accessibilità con Angular CDK