0

我有 D3DImage _di 用于以画笔的形式绘制 Wpf Border 的背景。图像渲染得很好,但我想将画笔保存到磁盘上的 png 文件,即使画笔没有显示在视图上。

我尝试如下将其保存到磁盘,但我得到的只是黑色图像:

            _receivedBrush =(Brush)new ImageBrush((ImageSource)_di)            
            RenderTargetBitmap bmpCopied = new RenderTargetBitmap(350, 174, 96, 96, PixelFormats.Default);
            DrawingVisual dv = new DrawingVisual();
            using (DrawingContext dc = dv.RenderOpen())
            {               
                dc.DrawRectangle(_receivedBrush, null, new Rect(new Point(), new Size(350, 174)));
            }
            bmpCopied.Render(dv);
            MemoryStream mse = new MemoryStream();
            BmpBitmapEncoder mem = new BmpBitmapEncoder();
            mem.Frames.Add(BitmapFrame.Create(bmpCopied));
            mem.Save(mse);
            File.WriteAllBytes(@"g:\brush.png", mse.ToArray());
            mse.Close();

提前致谢,

4

1 回答 1

-1

尝试更改为 PngBitmapEncoder 或将文件扩展名更改为 bmp。

于 2018-10-24T23:57:20.590 回答