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
Blazor + .NET 6 = .NET ovunque
Migrare da Azure DevOps a GitHub
Impostare le dimensioni di un oggetto tramite CSS
Usare l'option pattern per gestire la configurazione in ASP.NET Core
Esecuzione a matrici nei workflow di GitHub Action
Gestire il polimorfismo nella serializzazione usando un converter con System.Text.Json
Scenari di test avanzati con ASP.NET Core
Effettuare una chiamata HTTP in Angular usando le promise e RxJs 7
Compilare automaticamente applicazioni .NET 6 con le pipeline di Azure DevOps e GitHub Action
Comprimere le immagini contenute in un repository con una GitHub Action
Dichiarare una variabile in JavaScript con le parole chiave var, let e const
Effettuare un deployment differenziale con una GitHub Action