gpt4 book ai didi

c# - Base64图片转WPF图片源错误 No imaging component suitable

转载 作者:行者123 更新时间:2023-11-30 20:48:40 35 4
gpt4 key购买 nike

我正在尝试解码 Base64 图像并将其放入 WPF 图像源中。但是,我使用的代码有一个错误:

No imaging component suitable to complete this operation was found.

error

我已经使用在线 Base64 解码器仔细检查了我拥有的 Base64 字符串实际上是正确的 Base64 编码,所以我知道不是这样。

我的代码:

byte[] binaryData = Convert.FromBase64String(desc.Icon_Path);
MemoryStream ms = new MemoryStream(binaryData, 0, binaryData.Length);
ms.Write(binaryData, 0, binaryData.Length);
System.Drawing.Image image = System.Drawing.Image.FromStream(ms, true);
icon.Source = ToWpfImage(image);
ms.Dispose();

public BitmapImage ToWpfImage(System.Drawing.Image img)
{
MemoryStream ms = new MemoryStream();
img.Save(ms, System.Drawing.Imaging.ImageFormat.Bmp);

BitmapImage ix = new BitmapImage();
ix.BeginInit();
ix.CacheOption = BitmapCacheOption.OnLoad;
ix.StreamSource = ms;
ix.EndInit();
return ix;
}

我可能做错了什么?

最佳答案

假定 Base64 字符串包含一个编码图像缓冲区,该缓冲区可以由 WPF 的 BitmapDecoders 之一解码。 ,您不需要比这更多的代码:

public static BitmapSource BitmapFromBase64(string b64string)
{
var bytes = Convert.FromBase64String(b64string);

using (var stream = new MemoryStream(bytes))
{
return BitmapFrame.Create(stream,
BitmapCreateOptions.None, BitmapCacheOption.OnLoad);
}
}

关于c# - Base64图片转WPF图片源错误 No imaging component suitable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24376562/

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