2012-06-08 119 views
-1

我想从uri中绘制项目,例如:“http://profile/imgpath/0234245222.jpg”,但是我遇到了uri不支持的错误。Uri图像绘制

我用drawItem图像作为字节,我从来没有从uri中绘制过。

请帮帮我!

private int mouseIndex = -1; 

    private void listBox1_DrawItem(object sender, DrawItemEventArgs e) 
    { 
     if (e.Index == -1) return; 
     Image avatarContact = null; 
     Mycontact contact = (Mycontact)listBox1.Items[e.Index]; 

     Brush textBrush = SystemBrushes.WindowText; 
     if (e.Index > -1) 
     { 
      // Drawing the frame 
      if (e.Index == mouseIndex) 
      { 
       e.Graphics.FillRectangle(SystemBrushes.HotTrack, e.Bounds); 
       textBrush = SystemBrushes.HighlightText; 
      } 
      else 
      { 
       if ((e.State & DrawItemState.Selected) == DrawItemState.Selected) 
       { 
        e.Graphics.FillRectangle(SystemBrushes.Highlight, e.Bounds); 
        textBrush = SystemBrushes.HighlightText; 
       }else{ 
        e.Graphics.FillRectangle(SystemBrushes.Window, e.Bounds); 
       } 
       // Drawing the Avatar Image 
       if (contact.P_AVATAR_IMAGE != null) 
       { 
        // displaying avatar picture 
        // if byte image 
        //MemoryStream stream = new MemoryStream(contact.P_AVATAR_IMAGE); 
        //avatarContact = Image.FromStream(stream); 


       } 
       else 
       { 
        // if the contact has no avatar image, we can use a default one 
        if (contact.P_GENDER == "male") avatarContact = defaultMaleAvatar; 
        if (contact.P_GENDER == "female") avatarContact = defaultFemaleAvatar; 
       } 
       e.Graphics.DrawImage(avatarContact, e.Bounds.Left -2, e.Bounds.Top - 2, 50,40); 

      } 
     } 
    } 
+1

请张贴代码。 –

+0

什么是URL中的'profile'?这真的是你的域名吗? – jmort253

回答

2

看看这个MSDN Forum Thread,他们建议做这样的事情。

Uri uri = new Uri("http://profile/imgpath/0234245222.jpg"); 
WebRequest request = HttpWebRequest.Create(uri); 
WebResponse response = request.GetResponse(); 
Stream stream = response.GetResponseStream(); 
Image image = Image.FromStream(stream); 
+0

我的C#不是未知的WebRequest !,需要我添加哪些对象? – user1417068

+0

@ user1417068'System.Net;' –

+0

它的工作,谢谢 – user1417068