gpt4 book ai didi

c# - 将 RenderTargetBitmap 转换为 BitmapImage

转载 作者:太空狗 更新时间:2023-10-29 17:42:10 25 4
gpt4 key购买 nike

我有一个RenderTargetBitmap,我需要将它转换为BitmapImage。请检查下面的代码。

 RenderTargetBitmap bitMap = getRenderTargetBitmap();
Image image = new Image();// This is a Image
image.Source = bitMap;

在上面的代码中,我使用了 Image。现在我需要使用 BitmapImage。我该怎么做?

 RenderTargetBitmap bitMap = getRenderTargetBitmap();
BitmapImage image = new BitmapImage();// This is a BitmapImage
// how to set bitMap as source of BitmapImage ?

最佳答案

虽然似乎没有必要将 RenderTargetBitmap 转换为 BitmapImage,但您可以轻松地将 RenderTargetBitmap 编码为 MemoryStream 并从该流中解码 BitmapImage

有几个BitmapEncoders在 WPF 中,下面的示例代码使用了 PngBitmapEncoder

var renderTargetBitmap = getRenderTargetBitmap();
var bitmapImage = new BitmapImage();
var bitmapEncoder = new PngBitmapEncoder();
bitmapEncoder.Frames.Add(BitmapFrame.Create(renderTargetBitmap));

using (var stream = new MemoryStream())
{
bitmapEncoder.Save(stream);
stream.Seek(0, SeekOrigin.Begin);

bitmapImage.BeginInit();
bitmapImage.CacheOption = BitmapCacheOption.OnLoad;
bitmapImage.StreamSource = stream;
bitmapImage.EndInit();
}

关于c# - 将 RenderTargetBitmap 转换为 BitmapImage,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13987408/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com