Partager via


Stockage de l'encre

Les méthodes Save offrent une prise en charge pour le stockage de l'encre au format ISF (Ink Serialized Format). Les constructeurs de la classe StrokeCollection offrent une prise en charge pour la lecture des données de l'encre.

Stockage de l'encre et récupération

Cette section étudie le stockage et la récupération de l'encre dans la plateforme WPF.

L'exemple suivant implémente un gestionnaire d'événements du clic de bouton qui présente une boîte de dialogue Enregistrer à l'utilisateur et enregistre l'encre d'un InkCanvas dans un fichier.

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

L'exemple suivant implémente un gestionnaire d'événements du clic de bouton qui présente une boîte de dialogue Ouvrir à l'utilisateur et lit l'encre du fichier dans un élément 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();
    }
}

Voir aussi

Référence

InkCanvas

Autres ressources

Windows Presentation Foundation