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
Creazione di plugin per Tailwind CSS: espandere le Funzionalità del Framework
Utilizzare la versione generica di EntityTypeConfiguration in Entity Framework Core
Creare un webhook in Azure DevOps
Routing statico e PreRendering in una Blazor Web App
Usare un KeyedService di default in ASP.NET Core 8
Installare le Web App site extension tramite una pipeline di Azure DevOps
Modificare i metadati nell'head dell'HTML di una Blazor Web App
Creazione di componenti personalizzati in React.js con Tailwind CSS
Eseguire query manipolando le liste contenute in un oggetto mappato verso una colonna JSON
Creare alias per tipi generici e tuple in C#
Creare moduli CSS in React
Creazione di plugin per Tailwind CSS: espandere le funzionalità del framework dinamicamente