// 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));
}
'C# > WindowsForm' 카테고리의 다른 글
enum Flags Attribute (0) | 2015.12.01 |
---|---|
C# 퍼센트 구하기 간단한 예제 (0) | 2015.09.15 |
Tuple을 이용한 데이터 저장 및 전달 간단한 예제 (0) | 2015.07.09 |
현재 메서드의 이름 확인 (0) | 2015.05.14 |
File.Copy 나 File.Delete시 System.UnauthorizedAccessException 발생현상 해결 방법 (0) | 2014.05.30 |