将图片从网址加载到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;
OR
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);
}
答案 0 :(得分:1)
如果您没有在应用程序中使用PictureBox,我建议采用第二种方法。我更进一步,使它成为一个方法,采用url
字符串并返回Image
,使其可以在其他地方重复使用。此外,您可能希望使用DownloadDataAsync
来避免阻止UI线程,尤其是在图像可能需要花费大量时间下载的情况下。