쓸만한 주저리

[asp] imagemagick 사용법 - 바탕 그림에 글자 쓰기

봄돌73 2011. 11. 25. 12:25

아래 소스는 렌터카 회사에서 차량 대여 확인서를 발급하기 위해서 만든 소스이다.

각각의 글 내용들을 그림으로 만든 후 바탕 그림과 합성을 하는 방법을 사용한다. (공식 사이트에서도 같은 방법을 쓴다.)


      Dim objImg

      Set objImg = Server.CreateObject("ImageMagickObject.MagickImage.1")

      '차종

      objImg.Convert "-background=white","-fill=black","-font=Malgun-Gothic","-pointsize=28","-size=800x","caption:차종",server.mappath("차종경로")

      '차량번호

      objImg.Convert "-background=white","-fill=black","-font=Malgun-Gothic","-pointsize=28","-size=800x","caption:차량번호",server.mappath("차량번호경로")

      '확인서 내용

      objImg.Convert "-background=white","-fill=black","-font=Malgun-Gothic","-pointsize=28","-size=900x","caption:확인서 내용, 엔터는 vbcrlf를 쓰거나 \n를 쓸 수 있다. 사용법은 각각 asp와 자바스크립트에 준한다.",server.mappath("확인서 내용경로")

      '발급일

      objImg.Convert "-background=white","-fill=black","-font=Malgun-Gothic","-pointsize=28","-size=300x","-gravity=East","caption:발급일",server.mappath("발급일경로")

      '발급자

      objImg.Convert "-background=white","-fill=black","-font=Malgun-Gothic","-pointsize=28","-size=800x","-gravity=East","caption:발급자",server.mappath("발급자경로")


      '차종 합성

      objImg.composite "-geometry=+270+295",server.mappath("차종경로"),server.mappath("원본경로"),server.mappath("확인서경로")

      '차량번호 합성

      objImg.composite "-geometry=+270+330",server.mappath("차량번호경로"),server.mappath("확인서경로"),server.mappath("확인서경로")

      '확인서 내용 합성

      objImg.composite "-geometry=+90+520",server.mappath("확인서 내용경로"),server.mappath("확인서경로"),server.mappath("확인서경로")

      '발급일 합성

      objImg.composite "-geometry=+700+1100",server.mappath("발급일경로"),server.mappath("확인서경로"),server.mappath("확인서경로")

      '발급자 합성

      objImg.composite "-geometry=+130+1270",server.mappath("발급자경로"),server.mappath("확인서경로"),server.mappath("확인서경로")

      Set objImg = Nothing



1. 엔터는 vbcrlf를 쓰거나 \n를 쓸 수 있다. 사용법은 각각 asp와 자바스크립트에 준한다.

2. gravity는 정렬을 나타낸다. 8방위(NorthWestNorthNorthEastWestCenterEastSouthWestSouthSouthEast)를 사용한다.

3. geometry는 왼쪽 제일 위를 0,0으로 하는 좌표다.