【问题标题】:Save InkManager images to byte array将 InkManager 图像保存到字节数组
【发布时间】:2014-03-25 00:07:07
【问题描述】:

我是 win8 应用程序编程的新手,但被分配编写一个 windows 商店应用程序来捕获客户的签名并将其保存到 SQL Server。经过一番研究,我发现了一个很棒的教程 http://www.codeproject.com/Articles/416878/Metro-Paint 展示了如何在本地绘制和保存图像。我的问题是如何使用教程中的 InkManager 类将图像保存到字节数组,以便可以将图像保存到 SQLServer?谢谢!

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

            catch (Exception)
            {
                var MsgDlg = new MessageDialog("Only handwriting can be saved as image.", "Error while saving");
                MsgDlg.ShowAsync();
            }
        }
        else
        {
            var MsgDlg = new MessageDialog("Only handwriting can be saved as image.", "Error while saving");
            await MsgDlg.ShowAsync();
        }
    }

【问题讨论】:

    标签: windows-8 microsoft-metro windows-store-apps windows-8.1


    【解决方案1】:

    添加:(IBuffer.ToArray() 在 WindowsRuntimeBufferExtensions 中定义)

    使用 System.Runtime.InteropServices.WindowsRuntime;

    然后做:

    var buffer = await FileIO.ReadBufferAsync(image);//replace ab instead of image
    var bytes = buffer.ToArray();
    

    【讨论】:

    • 嗨 Suganthi,感谢您的回复,但是我不希望将图像保存在本地,而是希望在用户单击保存按钮后立即将画板中的图片转换为字节数组.你能帮我修改一下代码吗?
    猜你喜欢
    • 1970-01-01
    • 2012-01-18
    • 1970-01-01
    • 1970-01-01
    • 2018-05-07
    • 2016-11-23
    • 2013-04-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多