3

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

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

4

1 回答 1

4

如果您需要将图像用作Image控件的Source,您可以简单地将绘图放入DrawingImage 中

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

如果问题是关于创建BitmapSource(即可以由BitmapEncoder通过BitmapFrame编码的东西),则没有直接转换。您必须将图像放入中间 Image 控件并将该控件呈现到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);
于 2013-01-10T22:02:39.227 回答