C# 指向Drawing.image的图像url的最佳方式
将图像从url加载到绘图的最佳方法。图像 我发现有两种方法,哪一种更好,或者有更好的C# 指向Drawing.image的图像url的最佳方式,c#,image,C#,Image,将图像从url加载到绘图的最佳方法。图像 我发现有两种方法,哪一种更好,或者有更好的 PictureBox pb = new PictureBox(); pb.ImageLocation = "http://lovelypackage.com/wp-content/uploads/2012/02/lovely-package-whatever-wine4.jpg"; Image img = pb.Image; 或 如果应用程序中没有使用PictureBox,我建议使用第二种方法。我会更进一步,
PictureBox pb = new PictureBox();
pb.ImageLocation = "http://lovelypackage.com/wp-content/uploads/2012/02/lovely-package-whatever-wine4.jpg";
Image img = pb.Image;
或
如果应用程序中没有使用PictureBox,我建议使用第二种方法。我会更进一步,使它成为一个方法,它接受
url
字符串并返回图像
,使其可在其他地方重用。此外,您可能希望使用DownloadDataAsync
来避免阻塞UI线程,尤其是在图像可能需要花费大量时间下载的情况下。试试这个问题:这似乎比我的两种方法需要更多的工作:D我需要最优化的方法。。如果没有大的区别,我更喜欢picturebox方式。你是在你的程序中使用picturebox,还是仅仅为了处理图像下载?如果你不使用PictureBox,我推荐第二种方法。我会更进一步,使其成为一种方法,它采用url
字符串并返回图像
,使其可在其他地方重用。此外,您可能希望使用DownloadDataAsync
来避免阻塞UI线程,特别是在图像可能需要大量时间下载的情况下。@keyboardP true。。写下答案,给你最好的答案
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);
}