我有D3DImage _di,用于以Brush形式绘制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();
预先感谢
答案 0 :(得分:-1)
尝试更改为PngBitmapEncoder或将文件扩展名更改为bmp。