Condividi tramite


Memorizzazione dell'input penna

I metodi Save forniscono supporto per l'archiviazione dell'input penna in formato ISF (Ink Serialized Format). I costruttori per la classe StrokeCollection forniscono supporto per la lettura dei dati dell'input penna.

Archiviazione e recupero dell'input penna

In questa sezione viene descritto come archiviare e recuperare l'input penna nella piattaforma WPF.

Nell'esempio seguente viene implementato un gestore dell'evento clic su pulsante che presenta all'utente una finestra di dialogo di salvataggio file e salva l'input penna da un oggetto InkCanvas in un file.

Private Sub buttonSaveAsClick(ByVal sender As Object, ByVal e As RoutedEventArgs) 

    Dim saveFileDialog1 As New SaveFileDialog()
    saveFileDialog1.Filter = "isf files (*.isf)|*.isf"

    If saveFileDialog1.ShowDialog() Then
        Dim fs As New FileStream(saveFileDialog1.FileName, FileMode.Create)
        theInkCanvas.Strokes.Save(fs)
        fs.Close()
    End If

End Sub 'buttonSaveAsClick
private void buttonSaveAsClick(object sender, RoutedEventArgs e)
{
    SaveFileDialog saveFileDialog1 = new SaveFileDialog();
    saveFileDialog1.Filter = "isf files (*.isf)|*.isf";

    if (saveFileDialog1.ShowDialog() == true)
    {
        FileStream fs = new FileStream(saveFileDialog1.FileName,
                                       FileMode.Create);
        theInkCanvas.Strokes.Save(fs);
        fs.Close();
    }
}

Nell'esempio seguente viene implementato un gestore dell'evento clic su pulsante che presenta all'utente una finestra di dialogo di apertura file e legge l'input penna dal file in un elemento InkCanvas.

Private Sub buttonLoadClick(ByVal sender As Object, ByVal e As RoutedEventArgs) 

    Dim openFileDialog1 As New OpenFileDialog()
    openFileDialog1.Filter = "isf files (*.isf)|*.isf"

    If openFileDialog1.ShowDialog() Then
        Dim fs As New FileStream(openFileDialog1.FileName, FileMode.Open)
        theInkCanvas.Strokes = New StrokeCollection(fs)
        fs.Close()
    End If

End Sub 'buttonLoadClick
private void buttonLoadClick(object sender, RoutedEventArgs e)
{
    OpenFileDialog openFileDialog1 = new OpenFileDialog();
    openFileDialog1.Filter = "isf files (*.isf)|*.isf";

    if (openFileDialog1.ShowDialog() == true)
    {
        FileStream fs = new FileStream(openFileDialog1.FileName,
                                       FileMode.Open);
        theInkCanvas.Strokes = new StrokeCollection(fs);
        fs.Close();
    }
}

Vedere anche

Riferimenti

InkCanvas

Altre risorse

WPF