Partager via


Stockage de l'encre

Les Save méthodes prennent en charge le stockage d’encre en tant que format sérialisé manuscrit (ISF). Les constructeurs de la StrokeCollection classe prennent en charge la lecture des données manuscrites.

Stockage d’entrée manuscrite et récupération

Cette section explique comment stocker et récupérer des entrées manuscrites dans la plateforme WPF.

L’exemple suivant implémente un gestionnaire d’événements button-click qui présente à l’utilisateur une boîte de dialogue Enregistrer un fichier et enregistre l’entrée manuscrite à partir d’un InkCanvas fichier sortant.

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

L’exemple suivant implémente un gestionnaire d’événements button-click qui présente à l’utilisateur une boîte de dialogue Ouvrir un fichier et lit l’entrée manuscrite du fichier dans un InkCanvas élément.

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

Voir aussi