Bitmap getImage(string url) { Bitmap img = null; BitmapDownloadResult result = ImageHandler.BeginBitmapFromWeb(url); if (result != null) { bool cancel = false; while (!result.IsCompleted) { if (!doWork) { cancel = true; break; } System.Threading.Thread.Sleep(100); } if (cancel) { result.Cancel(); return(null); } img = result.Bitmap; } return(img); }
public static BitmapDownloadResult BeginBitmapFromWeb(string url) { BitmapDownloadResult result = new BitmapDownloadResult(); try { HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url); request.Method = "GET"; request.UserAgent = "Mozilla/5.0 (Windows NT 6.1; rv:6.0.1) Gecko/20100101 Firefox/6.0.1"; request.BeginGetResponse((asyncRes) => { Bitmap bitmap = null; try { using (HttpWebResponse response = request.EndGetResponse(asyncRes) as HttpWebResponse) { bitmap = new Bitmap(response.GetResponseStream()); } } catch (Exception ex) { Logger.LogError("Error downloading thumb from {0} - {1}", url, ex.Message); } finally { result.Complete(bitmap); } }, null); } catch (Exception ex) { Logger.LogError("Error downloading thumb from {0} - {1}", url, ex.Message); return(null); } return(result); }