Compartir a través de


Almacenar entradas manuscritas

Los métodos Save proporcionan compatibilidad para almacenar la entrada de lápiz como Formato serializado de tinta (ISF). Los constructores de la clase StrokeCollection proporcionan compatibilidad con la lectura de datos de entrada de lápiz.

Almacenar y recuperar entradas de lápiz

En esta sección se analiza la forma de almacenar y recuperar la entrada de lápiz en la plataforma WPF.

En el ejemplo siguiente se implementa un controlador de evento de clic de botón que muestra al usuario un cuadro de diálogo para guardar archivos y guarda la entrada de lápiz de un elemento InkCanvas en un archivo.

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

En el ejemplo siguiente se implementa un controlador de evento de clic de botón que muestra al usuario un cuadro de diálogo para abrir archivos y lee la entrada de lápiz del archivo en 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();
    }
}

Vea también

Referencia

InkCanvas

Otros recursos

Windows Presentation Foundation