以窗口形式显示来自XML的格式(以字节格式存储) [英] Display Image From XML (which is stored in byte format) in window form

查看:75
本文介绍了以窗口形式显示来自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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆