웹 페이지에서 이미지 로드하여 Drawing으로 그리기 예제
// 1. URL에서 이미지 다운로드 부분
/// <summary>
/// URL 에서 이미지를 요청 하여 다운로드 합니다
/// </summary>
/// <param name="url"></param>
private byte[] GetWebRequest(string url)
{
byte[] downloadData = null;
try
{
WebRequest webRequest = WebRequest.Create(url);
WebResponse webResponse = webRequest.GetResponse();
Stream stream = webResponse.GetResponseStream();
byte[] buffer = new byte[1024];
// 총 사이즈
int dataLength = (int)webResponse.ContentLength;
// 메모리로 다운로드 작업
MemoryStream memoryStream = new MemoryStream();
while (true)
{
int byteRead = stream.Read(buffer, 0, buffer.Length);
if (byteRead == 0)
break;
else
memoryStream.Write(buffer, 0, byteRead);
}
downloadData = memoryStream.ToArray();
stream.Close();
memoryStream.Close();
}
catch(Exception ex)
{
MessageBox.Show(ex.ToString());
}
return downloadData;
}
// 2. Drawing으로 그리는 부분
/// <summary>
/// 이미지를 그립니다.
/// </summary>
/// <param name="g"></param>
private void DrawImage(Graphics g)
{
byte[] imageData = GetWebRequest(this.imageUrl);
MemoryStream memoryStream = new MemoryStream(imageData);
Image image = Image.FromStream(memoryStream);
memoryStream.Close();
g.DrawImage(image, new Rectangle(350,125,130,42));
}