2

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

这是我的代码:

        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 控件中使用了这种方法。

4

1 回答 1

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);
        }
于 2013-09-01T08:54:18.253 回答