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
Disabilitare automaticamente un workflow di GitHub (parte 2)
Popolare una classe a partire dal testo, con Semantic Kernel e ASP.NET Core Web API
Rendere i propri workflow e le GitHub Action utilizzate più sicure
Usare le navigation property in QuickGrid di Blazor
Testare l'invio dei messaggi con Event Hubs Data Explorer
Sfruttare gli embedding e la ricerca vettoriale con Azure SQL Database
Evitare (o ridurre) il repo-jacking sulle GitHub Actions
Creare agenti facilmente con Azure AI Agent Service
Eseguire script pre e post esecuzione di un workflow di GitHub
Utilizzare Copilot con Azure Cosmos DB
Anonimizzare i dati sensibili nei log di Azure Front Door
Bloccare l'esecuzione di un pod in mancanza di un'artifact attestation di GitHub
I più letti di oggi
- Creare agenti facilmente con Azure AI Agent Service
- Loggare le query più lente con Entity Framework
- Rendere i propri workflow e le GitHub Action utilizzate più sicure
- Usare i settings di serializzazione/deserializzazione di System.Text.Json di ASP.NET all'interno di un'applicazione non web
- Disabilitare le run concorrenti di una pipeline di Azure DevOps
- Gestione degli eventi nei Web component HTML
- Fornire parametri ad un Web component HTML
- Introduzione ai web component HTML
- Documentare i servizi REST con Swagger e OpenAPI con .NET 9