Delen via


Inkt opslaan

De Save methoden bieden ondersteuning voor het opslaan van inkt als ISF (Serialized Format). Constructors voor de StrokeCollection-klasse bieden ondersteuning voor het lezen van inktgegevens.

Inktopslag en opnemen

In deze sectie wordt beschreven hoe u inkt opslaat en ophaalt in het WPF-platform.

In het volgende voorbeeld wordt een evenementenhandler voor een knopklik geïmplementeerd, die de gebruiker een dialoogvenster "Bestand opslaan" toont en de inkt van een InkCanvas in een bestand opslaat.

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();
    }
}
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

In het volgende voorbeeld wordt een gebeurtenishandler geïmplementeerd die bij klikken op een knop de gebruiker een dialoogvenster Bestand openen toont en inkt uit het bestand leest in een InkCanvas-element.

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();
    }
}
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

Zie ook