Udostępnij za pośrednictwem


Przechowywanie atramentu

Metody Save zapewniają obsługę przechowywania pisma odkowego jako formatu serializowanego pisma odkowego (ISF). Konstruktory dla StrokeCollection klasy zapewniają obsługę odczytywania danych pisma odkowego.

Magazyn pisma odręcznego i pobieranie

W tej sekcji omówiono sposób przechowywania i pobierania pisma oddyskowego na platformie WPF.

W poniższym przykładzie zaimplementowana jest procedura obsługi zdarzeń kliknięcia przycisku, która przedstawia użytkownika za pomocą okna dialogowego Zapisywanie pliku i zapisuje atrament z InkCanvas dysku do pliku.

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

Poniższy przykład implementuje program obsługi zdarzeń kliknięcia przycisku, który przedstawia użytkownikowi okno dialogowe Otwieranie pliku i odczytuje atrament z pliku do InkCanvas elementu.

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

Zobacz też