从DrawingGroup获取图像

时间:2013-01-10 21:04:00

标签: c# wpf image bitmap drawing

也许这是一个愚蠢的问题,但我在找到正确的答案时遇到了一些问题:S

如何从Bitmap获取ImageDrawingGroup(或类似)的帧?我实际上不知道如何咬它。我试图在互联网上寻找它,但在找到有用的东西时遇到了问题。

1 个答案:

答案 0 :(得分:2)

如果您需要将图片用作Source控件的Image,则只需将图片放入DrawingImage

var drawing = ...
var drawingImage = new DrawingImage(drawing);
image.Source = drawingImage;

如果问题是关于创建BitmapSource(即可以通过BitmapEncoderBitmapFrame编码的内容),则没有直接转换。您必须将图像放入中间图像控件并将该控件呈现为RenderTargetBitmap,这是一个BitmapSource:

var drawing = ...
var drawingImage = new DrawingImage(drawing);
var image = new Image { Source = drawingImage };
var bitmap = new RenderTargetBitmap(100, 100, 96, 96, PixelFormats.Pbgra32);
image.Arrange(new Rect(0, 0, bitmap.Width, bitmap.Height));
bitmap.Render(image);