C#2008/07/12 00:14

멤버십에서 도서 관리 Application을 구현하면서, 바코드를 생성해야 하는 부분이 있었는데,
바코드 생성과 관련된 부분까지 구현하기에는 큰 의미가 없을 것 같아, 고민하던 중,
웹 상에서 무료로 제공해주는 바코드 생성 프로그램이 있다는 걸 확인하고 이를 사용하여 바코드를 생성했습니다.

그런데, 바코드 생성 프로그램이 Web Application이다 보니 생성된 바코드가 웹 상에 표시되기 때문에 이를
제가 개발한 Application에 출력하기 위해서는 매번 '다른 이름으로 저장'으로 저장한 뒤, 그림을 로드 하여 출력 방법 밖에 없었습니다.

귀찮은걸 무지무지무지 * 10000 싫어하는 저로써는 Web상의 Image를 Application에 직접 출력 하도록 하는 기능을 생각했고, 아래와 같이 함수를 만들어 간단하게 구현 해보았습니다.

public Bitmap BitmapFromURL(string URL)
{
  try
  {  
     WebClient Downloader = new WebClient();
     Stream ImageStream = Downloader.OpenRead(URL);
     Bitmap DownloadImage = Bitmap.FromStream(ImageStream) as Bitmap;
     return DownloadImage;
  }
  catch (Exception)
  {
     return null;
  }
}

너무너무 간단한 코드이기 때문에, 따로 설명을 드리지 않아도 되겠지만 간단하게 동작원리를 알려드리면,

먼저 WebClient 객체의 OpenRead함수를 호출하여 해당 URL의 Stream객체를 얻습니다.
그리고 Bitmap Class의 Static Function인 FromStream함수를 통해 Stream으로부터 Bitmap객체를 생성합니다.


김대욱(kdw234@naver.com) http://kdw234.tistory.com
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by 곡스