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
Utilizzare DeepSeek R1 con Azure AI
Eliminare record doppi in Sql Server
Creare espressioni riutilizzabili nelle query LINQ per Entity Framework
Esporre un server MCP esistente con Azure API Management
Rendere le variabili read-only in una pipeline di Azure DevOps
Utilizzare il metodo ExceptBy per eseguire operazione di sottrazione tra liste
Gestione delle scrollbar dinamiche in HTML e CSS
Mischiare codice server side e client side in una query LINQ con Entity Framework
Utilizzare il metodo IntersectBy per eseguire l'intersection di due liste
Creare agenti facilmente con Azure AI Agent Service
Gestire progetti NPM in .NET Aspire
Path addizionali per gli asset in ASP.NET Core MVC


