7. UI가 필요 없는 마지막 페이지인 축소판(썸네일;ThumbNail) 이미지를 생성시키는 ThumbNail.aspx 페이지를 생성한다. 역시 ThumbNail.aspx 페이지는 그대로 둔 채 코드 숨김 페이지인 ThumbNail.aspx.cs 파일을 열고 다음과 같이 입력한다. 이 안에 있는 코드는 이 책의 범위를 벗어나는 영역이 포함되어 있기에 이 또한 먼저 사용하다가 MSDN을 참고해 주요 명령어를 익히도록 한다. 또한, System.Drawing 네임스페이스는 반드시 추가하기 바란다.
▼ ~/DotNetNote/ThumbNail.aspx.cs
using System; using System.Drawing; namespace MemoEngine.DotNetNote { /// <summary> /// ThumbNail : 축소판 이미지 생성기 /// </summary> public partial class ThumbNail : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { // 변수 초기화 int boxWidth = 100; int boxHeight = 100; double scale = 0; // 파일 이름 설정 string fileName = String.Empty; string selectedFile = String.Empty; if (Request[“FileName”] != null) { selectedFile = Request.QueryString[“FileName”]; fileName = Server.MapPath(”./MyFiles/” + selectedFile); } else { selectedFile = ”/images/dnn/img.jpg”;//기본 이미지로 초기화 fileName = Server.MapPath(”/images/dnn/img.jpg”); } int tmpW = 0; int tmpH = 0; if (Request.QueryString[“Width”] != null && Request.QueryString[“Height”] != null) { tmpW = Convert.ToInt32(Request.QueryString[“Width”]); tmpH = Convert.ToInt32(Request.QueryString[“Height”]); } if (tmpW > 0 && tmpH > 0) { boxWidth = tmpW; boxHeight = tmpH; } // 새 이미지 생성 Bitmap b = new Bitmap(fileName); // 크기 비율을 계산한다. if (b.Height < b.Width) { scale = ((double)boxHeight) / b.Width; } else { scale = ((double)boxWidth) / b.Height; } // 새 너비와 높이를 설정한다. int newWidth = (int)(scale b.Width); int newHeight = (int)(scale