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
Verificare la provenienza di un commit tramite le GitHub Actions
Cambiare la chiave di partizionamento di Azure Cosmos DB
Miglioramenti agli screen reader e al contrasto in Angular
Sfruttare lo stream rendering per le pagine statiche di Blazor 8
Utilizzare Azure Cosmos DB con i vettori
Effettuare lo stream della risposta in ASP.NET Core tramite IAsyncEnumerable
Limitare le richieste lato server con l'interactive routing di Blazor 8
Registrare servizi multipli tramite chiavi in ASP.NET Core 8
Personalizzare l'errore del rate limiting middleware in ASP.NET Core
Migrare una service connection a workload identity federation in Azure DevOps
Gestire domini wildcard in Azure Container Apps
Sfruttare al massimo i topic space di Event Grid MQTT