Windows Phone - WriteableBitmap.Render不适用于InkPresenter

时间:2013-08-31 14:28:34

标签: windows-phone-8 windows-phone render writeablebitmap microsoft.ink

我正在使用WriteableBitmap.Render将InkPresenter控件转换为字节数组和Image。

这是我的代码:

        var bitmap = new WriteableBitmap(element, null);
        bitmap.Render(element, null);
        bitmap.Invalidate();

        BitmapImage img;

        using (var ms = new MemoryStream())
        {
            bitmap.SaveJpeg(ms, bitmap.PixelWidth, bitmap.PixelHeight, 0, 85);

            // byte[] bytes = ms.ToArray();
            img = new BitmapImage();
            img.SetSource(ms);
        }

如果我将结果(字节数组或图像)保存到IsoladtedStorage中,图像的大小正确但只是黑色。

我不知道它为什么不起作用,因为我已经将这个方法与Map控件一起使用了。

1 个答案:

答案 0 :(得分:3)

        using (var stream = new MemoryStream())
        {
            WriteableBitmap dd = new WriteableBitmap(ink, null);
            dd.SaveJpeg(stream, dd.PixelWidth, dd.PixelHeight, 0, 100);
            stream.Seek(0, SeekOrigin.Begin);
            var ml = new MediaLibrary();
            ink.Background = new SolidColorBrush(Colors.White);
            ml.SavePicture(string.Format("Images\\{0}.jpg", Guid.NewGuid()), stream);
            ink.Background = new SolidColorBrush(Colors.Transparent);
        }