1

将图像从 url 加载到 Drawing.Image 的最佳方法?

我找到了这两种方法,哪一种更好还是有更好的方法?

PictureBox pb = new PictureBox();
pb.ImageLocation = "http://lovelypackage.com/wp-content/uploads/2012/02/lovely-package-whatever-wine4.jpg";
Image img = pb.Image;

或者

using (WebClient wc = new WebClient())
{
    byte[] bytes = wc.DownloadData("http://lovelypackage.com/wp-content/uploads/2012/02/lovely-package-whatever-wine4.jpg");
    MemoryStream ms = new MemoryStream(bytes);
    Image img = Image.FromStream(ms);
}
4

1 回答 1

2

如果您没有在应用程序中使用 PictureBox,我建议您使用第二种方法。我会更进一步,使其成为一种接受url字符串并返回Image使其可在其他地方重用的方法。此外,您可能希望使用它DownloadDataAsync来避免阻塞 UI 线程,尤其是在图像可能需要很长时间才能下载的情况下。

于 2013-04-18T20:43:30.507 回答