메뉴 바로가기 검색 및 카테고리 바로가기 본문 바로가기

한빛출판네트워크

IT/모바일

ASP.NET을 사용하여 다이나믹 배너 만들기

한빛미디어

|

2002-01-28

|

by HANBIT

9,536

저자 : Hamid Shojaee, 역 한동훈

필자처럼 예술적인 재능이 없는 사람이 자신의 아이디어를 나타내기 위해 간단한 배너를 만들어야한다면, 이러한 배너를 만드는 것이 얼마나 시간 소모적인 일이며, 좌절하게 되는 일인지 잘 알 것이다. 그러나 때때로, 가장 효율적인 배너가 가장 간단한 것일 때도 있다. 다행히도, HTML로 간단한 배너를 만드는 것은 쉽다. 이 글에서는 간단한 배너를 빠르게 만들 수 있는 메소드를 작성할 것이다.

배너 생성 메소드 설계하기

CreateHTMLBanner 메소드를 코딩하기 전에, 메소드로 만들 수 있는 HTML 배너 예제들을 살펴보자.



위에서 다양한 배너들을 볼 수 있는 것처럼, 배너 생성 메소드는 매우 융통성 있어야 한다. 따라서 다음과 같은 매개변수를 옵션으로 가져야한다.
  • 배너 크기(폭과 높이)
  • 배너 크기(픽셀 단위)
  • 테두리(border) 색상
  • 배경 색상
  • 박스 안에 텍스트 색상
이러한 옵션을 매개변수로 사용하면, 배너 생성 함수는 매우 융통성 있게 될 것이다. HTML 배너를 생성하는 코드를 살펴보도록 하자.
[코드 예제 1] CreateHTMLBanner 메소드

<%
sub CreateHTMLBanner(sBorderColor, sBackgroundColor, _
            sTextString, iWidth, iHeight, iBorderSize)
%>
 
     width=<%=iWidth%> height=<%=iHeight%>
     cellspacing=<%=iBorderSize%> cellpadding=0>
  
width=<%=iWidth-(2*iBorderSize)%> height=<%=iHeight-(2*iBorderSize)%> cellspacing=0 cellpadding="0">
<%=sTextString%>
<% end sub %>

닷넷 프레임워크 에센스
위 코드에서 <%=[code]%>를 많이 사용하고 있다. 이것은 코드를 보다 읽기 쉽게 만들고, 그 결과 HTML을 읽기 쉽게 만들어준다. 여러분에게 수행성능이 가장 중요하다면, 이 코드를 Response.Write 메소드를 사용하도록 바꾸면 된다.

배너에 테두리 효과를 주기 위해 두 개의 테이블을 생성한다. 하나는 배너 크기를 정하는 외부 테이블이고, 다른 하나는 배너 안에 사용할 수 있는 공간의 크기를 정하는 내부 테이블이다. 테두리 크기는 외부 테이블의 cellspacing 속성에서 결정되며, 테두리 색상은 외부 테이블의 배경색상으로 결정된다.

CreateHTMLBanner 함수를 사용하여, 위에서 본 동적으로 생성되는 두 가지 버전의 "Win Free Stuff" 배너를 만들어보자.
[코드 예제 2] 예제 배너 생성하기

<% 
dim sBannerText 
  sBannerText = "
Win Free Stuff!" _ & " - Over $15,000" _ & " in developer software and books!
" CreateHTMLBanner "black", "yellow", sBannerText, 468, 60, 5 CreateHTMLBanner "Red", "White", sBannerText, 468, 60, 2 %>

HTML 배너에서 가장 좋은 점은 빨리 뜬다는 점이다. HTML 배너에 얼마나 많은 텍스트를 집어넣는가는 문제되지 않으며, GIF나 JPG 포맷의 배너보다 항상 크기가 작다. 예제에서처럼, 위의 5개의 배너는 모두 모아서 3k도 되지 않는다. 따라서 대역폭 소비를 줄일 수 있다. GIF나 JPG 포맷으로 배너를 생성해야 한다면, CreateHTMLBanner 함수를 사용한 배너를 스냅샷으로 이용할 수 있다.

Hamid Shojaee는 마이크로소프트 컨설팅 서비스의 수석 컨설턴트이며, 웹 기반 타임 트래킹(time tracking) 솔루션 회사 Vitrix Corporation의 공동 창립자다.
TAG :
댓글 입력
자료실

최근 본 상품0