用背景保存画布图像 - Windows 8 c#metro app?

时间:2013-01-28 12:56:39

标签: canvas windows-8 background microsoft-metro save

我想用我的画布保存背景图片。但是当我拯救了所有人时,只有我的线条而没有别的。

我的经典代码“保存画布”:

    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)
            {
            }
        }
    }

你知道我怎么解决它吗?

1 个答案:

答案 0 :(得分:0)

我不认为你正在保存你的画布 - 你正在保存InkManager(在文档中说它只保存笔画,没有别的)..注意InkManager不是UI元素 - 它是只是一个你“挂钩”的对象。

据我所知,Canvas(以及所有其他UIElements)无法转换为Image。这是Win8的一个限制,Silverlight / WPF不会让我感到烦恼。