Nello script precedente, abbiamo visto come sia facile utilizzare le DirectInk API nella Universal Windows Platform per implementare dei canvas virtuali con cui scrivere e disegnare tramite touch o mouse.
Un'altra interessante funzionalità dell'InkPresenter è la possibilità di esportare su file la sessione di disegno. Per esportare il contenuto di un canvas su file non ci basta che chiamare il metodo SaveAsync contenuto all'interno della proprietà StrokeContainer dell'InkPresenter.
Il codice per implementare questa funzionalità è riportato in basso:
async void Save() { var file = await ApplicationData.Current.LocalFolder.CreateFileAsync("draw.gif"); using (IRandomAccessStream stream = await file.OpenAsync(FileAccessMode.ReadWrite)) { await myInkSurface.InkPresenter.StrokeContainer.SaveAsync(stream); } }
Questo meccanismo di salvataggio è reso possibile grazie alle funzionalità di serializzazione dell'Ink che il metodo SaveAsync implementa: il file generato conterrà al suo interno i nostri dati di disegno nel formato ISF (Ink Serialized Format).
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Leggere il valore di un header della richiesta in ASP.NET Core 6
Gestire aree contestuali in un'applicazione Blazor
Ottimizzare il json generato dalla serializzazione con System.Text.Json eliminando i valori non necessari
Impostare l'hostname di un'immagine docker per rendere il container da altri container in Visual Studio
Filtrare le chiamate HTTP ad un App Service in base al servizio Azure
Sviluppare applicazioni serverless con Azure Container Apps
Eseguire chiamate hedging gRPC con ASP.NET Core 6
Effettuare una chiamata HTTP in Angular usando le promise e RxJs 7
Code reviewers as code in GitHub
Entity Framework Core 6
Blazor + .NET 6 = .NET ovunque
Minimal API con .NET