How can I convert image url to system.drawing.image

Mina Gabriel picture Mina Gabriel · Aug 3, 2012 · Viewed 55.2k times · Source

I'm using VB.Net I have an url of an image, let's say http://localhost/image.gif

I need to create a System.Drawing.Image object from that file.

Notice save this to a file and then open it is not one of my options also i'm using ItextSharp

here is my code :

Dim rect As iTextSharp.text.Rectangle
        rect = iTextSharp.text.PageSize.LETTER
        Dim x As PDFDocument = New PDFDocument("chart", rect, 1, 1, 1, 1)

        x.UserName = objCurrentUser.FullName
        x.WritePageHeader(1)
        For i = 0 To chartObj.Count - 1
            Dim chartLink as string = "http://localhost/image.gif"
            x.writechart( ** it only accept system.darwing.image ** ) 

        Next

        x.WritePageFooter()
        x.Finish(False)

Answer

Varius picture Varius · Aug 3, 2012

You could use WebClient class to download image and then MemoryStream to read it:

C#

WebClient wc = new WebClient();
byte[] bytes = wc.DownloadData("http://localhost/image.gif");
MemoryStream ms = new MemoryStream(bytes);
System.Drawing.Image img = System.Drawing.Image.FromStream(ms);

VB

Dim wc As New WebClient()
Dim bytes As Byte() = wc.DownloadData("http://localhost/image.gif")
Dim ms As New MemoryStream(bytes)
Dim img As System.Drawing.Image = System.Drawing.Image.FromStream(ms)