我有RenderTargetBitmap
,我需要将其转换为BitmapImage
。请检查以下代码。
RenderTargetBitmap bitMap = getRenderTargetBitmap();
Image image = new Image();// This is a Image
image.Source = bitMap;
在上面的代码中我使用了Image.Now我需要使用BitmapImage。我怎么能这样做?
RenderTargetBitmap bitMap = getRenderTargetBitmap();
BitmapImage image = new BitmapImage();// This is a BitmapImage
// how to set bitMap as source of BitmapImage ?
答案 0 :(得分:16)
虽然似乎没有必要将RenderTargetBitmap
转换为BitmapImage
,但您可以轻松地将RenderTargetBitmap
编码为MemoryStream
并解码{{ 1}}来自那个流。
WPF中有多个BitmapEncoders,下面的示例代码使用BitmapImage
。
PngBitmapEncoder
答案 1 :(得分:-2)
private async void Button_Click(object sender, RoutedEventArgs e)
{
RenderTargetBitmap bitMap = new RenderTargetBitmap();
await bitMap.RenderAsync(grid);
Image image = new Image();// This is a Image
image.Source = bitMap;
image.Height = 150;
image.Width = 100;
grid.Children.Add(image);
}
这看起来更简单。