c# - 从 DrawingGroup 获取图像

标签 c# wpf image bitmap drawing

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

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

最佳答案

如果您需要将图像用作 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/

相关文章:

c# - 您推荐我使用哪种文件类型来播放非常小的视频?

c# - UI 设计选择以及如何实现它们

javascript - 防止在网页上缓存图像

html - Image Resizing 调整比例

c# - 从链接中提取信息,例如 Facebook 墙

c# - 无法使用站点间连接从 Azure VM 连接 Azure SQL

javascript - 如何在jquery中设置隐藏变量的值

c# - 我需要在静态对象上调用 Dispose() 吗?

html - 横向移动网站不会向下滚动

c# - WPF中Form对应的 "this"是什么?