2012-04-09 21 views
23

Aşağıdaki kod var: Ne Image. yazdığınızdaaçılamıyor

Image tmpimg = null; 
HttpWebRequest httpWebRequest = (HttpWebRequest)HttpWebRequest.Create(url); 
HttpWebResponse httpWebReponse = (HttpWebResponse)httpWebRequest.GetResponse(); 
Stream stream = httpWebReponse.GetResponseStream(); 
return Image.FromStream(stream); 

son satırda, FromStream listesinde değil. Ne yapabilirim?

+0

'Bulunan önerilerle ilgili bir sorunum var. Bu sorun nedir? – Oded

+2

Soruyu okuyun. Sorun şu ki, FromStream bulunamıyor – user896692

+0

'FromStream' sorunu açık. Net olmayan şey diğer cevaplarda ne eksiklikler olduğuydı (ya da bu idi). – Oded

cevap

8

Muhtemelen using System.Drawing;'a gereksinim duyarsınız.

+0

bulunamadı, yanlış kullanmıştım. Cevabınızı 6 dakika içinde kabul ediyorum. Teşekkürler! – user896692

+0

Ayrıca http yanıtını kapatmanız/imha etmeniz gerekir. Bunu yapmamak, http bağlantısını açık bırakır ve aynı sunucuya birden çok istekte bulunmaya çalışmak başarısızlığa neden olur. – Will

28

Daha ayrıntılı bir örnek, kullanım alanı ve gerekli ad alanları. Sadece hızlı bir kopyasını yapmak ve çözümü yapıştırabileceğiniz beri

using System.Net; 
using System.IO; 
using System.Drawing; 

public static Image GetImageFromUrl(string url) 
    { 
     HttpWebRequest httpWebRequest = (HttpWebRequest)HttpWebRequest.Create(url); 

      using (HttpWebResponse httpWebReponse = (HttpWebResponse)httpWebRequest.GetResponse()) 
      { 
       using (Stream stream = httpWebReponse.GetResponseStream()) 
       { 
        return Image.FromStream(stream); 
       } 
      } 
    } 

Umarım bu, sana zaman kazandırır.

~ Şerefe! Ayrıca sadece System.ComponentModel kullanarak yeterli değildir ekleyerek, System.Drawing.dll başvurusunu eklemeniz gerekir btw

using System.Drawing; 
    using System.IO; 
    using System.Net; 

    public static Image GetImageFromUrl(string url) 
    { 
     using (var webClient = new WebClient()) 
     { 
      return ByteArrayToImage(webClient.DownloadData(url)); 
     } 
    } 

    public static Image ByteArrayToImage(byte[] fileBytes) 
    { 
     using (var stream = new MemoryStream(fileBytes)) 
     { 
      return Image.FromStream(stream); 
     } 
    } 
+0

Lanet olsun, biraz zaman kazandırır! Teşekkür – JDandChips

+0

Bir çekicilik gibi çalışır! 'Resim image1 = GetImageFromUrl (" http://upload.wikimedia.org/wikipedia/commons/c/cd/Panda_Cub_from_Wolong,_Sichuan,_China.JPG "); // resminizle bir şeyler yapın – Combine

+0

"var httpWebRequest = HttpWebRequest.CreateHttp (url);" ifadesini kullanmaktan kaçının. – m1kael

11

bu bir deneyin.

+1

Büyük byteArray noktası! Aslında önümüzdeki hafta buna ihtiyacım var! Mükemmel zamanlama. – Rogala