23

我有以下代码:

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

在我输入时的最后一行Image.FromStream不在列表中。我能做些什么?

4

4 回答 4

28

更详细的使用示例和所需的命名空间。

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);
                }
            }
    }
于 2013-10-05T13:29:26.910 回答
12

试试这个:

    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);
        }
    }
于 2014-04-05T10:26:05.043 回答
8

你可能需要using System.Drawing;.

于 2012-04-09T17:39:37.760 回答
2

顺便说一句,您还需要添加对 System.Drawing.dll 的引用,仅添加 using System.Drawing 是不够的。

于 2014-08-01T23:24:25.907 回答