也许这是一个愚蠢的问题,但我在找到正确答案时遇到了一些问题:S
如何从 DrawingGroup
获取 Bitmap
或 Image
(或类似内容)的帧?我实在不知道怎么咬它。我试图在互联网上寻找它,但在找到有用的东西时遇到了问题。
最佳答案
如果您需要将图像用作 Source Image的控制,你可以简单地将绘图放入 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);
关于c# - 从 DrawingGroup 获取图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14267228/