Сохраните System.Windows.Media.Brush как файл образа на диск
У меня есть D3DImage _di, который используется для рисования фона границы Wpf в виде кисти. Изображение отображается нормально, но я хочу сохранить файл Brush to png на диске, даже если Brush не отображается в представлении.
Я попытался, как показано ниже, чтобы сохранить его на диск, но все, что я получил, это черное изображение:
_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();
Заранее спасибо,
1 ответ
Попробуйте изменить на PngBitmapEncoder или измените расширение файла на bmp.