以窗口形式显示来自XML的格式(以字节格式存储) [英] Display Image From XML (which is stored in byte format) in window form
本文介绍了以窗口形式显示来自XML的格式(以字节格式存储)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想以窗口形式显示来自XML文件的图像(其中图像数据以字节格式存储在xml中)。
我正在使用下面的代码。
I want to display Image from XML file (where image data stored in xml in byte format) in window form.
And i'm using below code.
try
{
byte[] imageData = null;
int id = 6909;
Image newImage;
XDocument xDoc = XDocument.Load("Imageurl.xml");
var q = from c in xDoc.Descendants("a")
where c.Element("ID").Value == id.ToString()
select new
{
imageurl= c.Element("imgurl").Value
};
foreach (var a in q)
{
imageData = Encoding.UTF8.GetBytes(a.imageurl);
break;
}
//Read image data into a memory stream
using (MemoryStream ms = new MemoryStream(imageData, 0, imageData.Length))
{
ms.Write(imageData, 0, imageData.Length);
//Set image variable value using memory stream.
newImage = Image.FromStream(ms, true);
}
//set picture
pictureBox1.Image = newImage;
}
catch (Exception obj)
{
MessageBox.Show(obj.ToString());
}
但是给定参数无效错误消息
请帮帮我
but it's given Parameter is not valid error message
Please help me
推荐答案
这对我有用:
Hi,
this worked for me:
private void Form1_Load(object sender, EventArgs e)
{
string s = "/9j/4AAQSkZJRgABAgEBLAEsAAD ..."; // XML photo as string
pictureBox1.Image = Base64ToImage(s);
}
static Image Base64ToImage(string base64String)
{
byte[] imageBytes = Convert.FromBase64String(base64String);
MemoryStream ms = new MemoryStream(imageBytes);
return Image.FromStream(ms, true);
}
这篇关于以窗口形式显示来自XML的格式(以字节格式存储)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文