Abbiamo visto come sia facile utilizzare le DirectInk API della Universal Windows Platform per implementare dei canvas virtuali con cui scrivere e disegnare tramite touch o mouse.
In un altro script abbiamo visto come sia facile esportare all'interno di una GIF i dati ISF della nostra sessione di disegno, e nello script di questa settimana vediamo quando sia altrettanto semplice ripristinarli.
Sempre grazie ad una funzionalità dell'InkPresenter è la possibilità di caricare da file una sessione di disegno precedentemente salvata, tutto ciò che dobbiamo fare è chiamare il metodo LoadAsync contenuto all'interno della proprietà StrokeContainer dell'InkPresenter.
Il codice per implementare questa funzionalità è riportato in basso:
async Task Load() { var file = await ApplicationData.Current.LocalFolder.GetFileAsync("draw.gif"); using (IRandomAccessStream stream = await file.OpenAsync(FileAccessMode.ReadWrite)) { await myInkSurface.InkPresenter.StrokeContainer.LoadAsync(stream); } }
Ovviamente, in una situazione di ripristino della superfice di disegno potrebbe tornarci utile azzerare il canvas per consentire un caricamento più pulito di una sessione precedentemente salvata. Per azzerare un canvas è sufficiente invocare il metodo Clear dello StrokeContainer come identicato qui in basso:
private void Clear() { myInkSurface.InkPresenter.StrokeContainer.Clear(); }
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Ricevere notifiche sui test con Azure Load Testing
Utilizzare Azure Cosmos DB con i vettori
Utilizzare Hybrid Cache in .NET 9
.NET Conference Italia 2024
Configurare il nome della run di un workflow di GitHub in base al contesto di esecuzione
Combinare Container Queries e Media Queries
Gestione CSS in Blazor con .NET 9
Gestione dei nomi con le regole @layer in CSS
Fornire parametri ad un Web component HTML
Anonimizzare i dati sensibili nei log di Azure Front Door
Eseguire script pre e post esecuzione di un workflow di GitHub
Rendere le variabili read-only in una pipeline di Azure DevOps