也许这是一个愚蠢的问题,但我在找到正确的答案时遇到了一些问题:S
如何从Bitmap
获取Image
或DrawingGroup
(或类似)的帧?我实际上不知道如何咬它。我试图在互联网上寻找它,但在找到有用的东西时遇到了问题。
答案 0 :(得分:2)
如果您需要将图片用作Source控件的Image,则只需将图片放入DrawingImage:
var drawing = ...
var drawingImage = new DrawingImage(drawing);
image.Source = drawingImage;
如果问题是关于创建BitmapSource(即可以通过BitmapEncoder由BitmapFrame编码的内容),则没有直接转换。您必须将图像放入中间图像控件并将该控件呈现为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);