0

キャンバスを背景画像とともに保存したいと思います。しかし、私がすべてを保存したとき、私の行だけがあり、他には何もありません。

「キャンバスを保存する」ための私の古典的なコード:

    private async void save_Click_1(object sender, RoutedEventArgs e)
    {
        if (_inkManager.GetStrokes().Count > 0)
        {
            try
            {
                Windows.Storage.Pickers.FileSavePicker save = new Windows.Storage.Pickers.FileSavePicker();
                save.SuggestedStartLocation = Windows.Storage.Pickers.PickerLocationId.Desktop;
                save.DefaultFileExtension = ".png";
                save.FileTypeChoices.Add("PNG", new string[] { ".png" });
                StorageFile filesave = await save.PickSaveFileAsync();
                IOutputStream ab = await filesave.OpenAsync(FileAccessMode.ReadWrite);
                if (ab != null)
                    await _inkManager.SaveAsync(ab);
            }
            catch (Exception)
            {
            }
        }
    }

どうすれば解決できるかわかりますか?

4

1 に答える 1

0

キャンバスを保存しているとは思いません。InkManagerを保存しています(ドキュメントでは、ストロークのみを保存し、他には何も保存しないと言っています)。InkManagerはUI要素ではないことに注意してください。これは単に「フック」するオブジェクトです。 "。

私の知る限り、Canvas(および他のすべてのUIElements)を画像に変換することはできません。これがWin8の制限であり、Silverlight/WPFには最もイライラするものはありません。

于 2013-01-29T10:13:32.230 に答える