web-dev-qa-db-fra.com

Impossible de localiser FromStream dans la classe Image

J'ai le code suivant:

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

Sur la dernière ligne lorsque je tape Image., FromStream ne figure pas dans la liste. Que puis-je faire?

23
user896692

Vous avez probablement besoin de using System.Drawing;.

8
SLaks

Exemple plus détaillé avec using et les espaces de noms nécessaires.

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);
                }
            }
    }

J'espère que cela vous fera gagner du temps, car vous pouvez simplement faire un copier-coller rapide dans votre solution.

~ Vive !!

28
Rogala

essaye celui-là:

    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);
        }
    }
12
Sergey Malyutin

btw, vous devez également ajouter une référence à System.Drawing.dll, l'ajout à l'aide de System.Drawing n'est pas suffisant.

2
lznt