CxImage를 활용하여 ASP에서 썸네일 생성하기 > 기술자료

본문 바로가기
사이트 내 전체검색

기술자료

ClassicASP CxImage를 활용하여 ASP에서 썸네일 생성하기

페이지 정보

댓글 0건 조회 5,081회 작성일 2016-02-25 08:45

본문

CxImage는 C++로 만들어진 클래스로서 이미지를 불러오고 저장하고, 자르고, 변형하는 등 다양한 작업을 할 수 있습니다.
뿐만 아니라 JPG, PNG, GIF, TIFF 등 다양한 이미지 포맷을 지원합니다.

CxImage를 기반으로한 ASP에서 사용가능한 버전은 CxImage ActiveX wrapper 입니다.

CxImage의 wrapper 클래스라고 해야할까요.
asp에서 CxImage 오브젝트를 생성할수 있도록 해줍니다.

http://cximageatl.codeplex.com/ 에서 msi 파일을 다운로드하여 더블클릭한후 간단히 설치만 하면 됩니다.

설치 이후에는 아래와 같이 오브젝트를 생성하여 다양한 메소드를 활용할 수 있습니다.
Set objCxImage = Server.CreateObject("CxImageATL.CxImage")

<%
Function getMakeThumbNail(ImageFullPath, ImageWidth, ImageHeight, bStretch)
    On Error Resume Next
        '// 기본설정
        If IsNull(ImageFullPath) Or Trim(ImageFullPath) = "" Then  Exit Function
        If IsNull(ImageWidth) Or Trim(ImageWidth) = "" Then  ImageWidth    = 100
        If IsNull(ImageHeight) Or Trim(ImageHeight) = "" Then ImageHeight    = 100

        If ImageWidth <= 0 Then   ImageWidth  = 100
        If ImageHeight <= 0 Then  ImageHeight = 100

        '//
        Dim imgName  : imgName = Mid( ImageFullPath, InstrRev(ImageFullPath, "\") + 1 )  '// 이미지명 추출
        Dim imgPath  : imgPath = Replace( ImageFullPath, "\" & imgName, "" )   '// 경로 추출
        Dim onlyName : onlyName  = Left( imgName, InStrRev(imgName, ".") - 1 ) '// 순수파일명 추출
        Dim imgExt : imgExt  = LCase( Mid(imgName, InStrRev(imgName, ".") + 1) )  '// 순수확장자 추출

        Dim saveName : saveName = imgPath & "\" & onlyName & "_(" & ImageWidth & "x" & ImageHeight & ").jpg" '//& imgExt

        '// 이미지형식체크
        Dim ImageType    :    ImageType = 2
        Select Case imgExt
            Case "bmp", "wmf", "raw" :    ImageType = 1
            Case "gif"               :    ImageType = 2
            Case "jpg"               :    ImageType = 3
            Case "png"               :    ImageType = 4
            Case "ico"               :    ImageType = 5
            Case "tif"               :    ImageType = 6
            Case "tga"               :    ImageType = 7
            Case "pcx"               :    ImageType = 8
            Case "jp2"               :    ImageType = 11
            Case "jpc"               :    ImageType = 12
            Case "jpx"               :    ImageType = 13
            Case "pnm"               :    ImageType = 14
            Case "ras"               :    ImageType = 15
            Case Else                :    Exit Function
        End Select

        '//★(시작)썸네일 생성 작업
        Dim objCxImage  :  Set objCxImage = Server.CreateObject("CxImageATL.CxImage")  '// 개체생성

        Call objCxImage.Load(ImageFullPath, ImageType)  '// 원본 OPEN
        Call objCxImage.IncreaseBpp(24)

        '// S: Stretch
        Dim ThumbWidth : ThumbWidth = ImageWidth '// 원본사이즈와 무관하게 사용자 지정비율에 맞게 강제 조정
        Dim ThumbHeight : ThumbHeight   = ImageHeight

        '// 원본사이즈에 따른 적절한 비율조정
        If bStretch = False Then
            Dim SourceWidth  : SourceWidth  = CDbl(objCxImage.GetWidth())  '// 원본 가로사이즈
            Dim SourceHeight : SourceHeight = CDbl(objCxImage.GetHeight()) '// 원본 세로사이즈

            Dim sizeX  :  sizeX = SourceWidth / ImageWidth
            Dim sizeY  :  sizeY = SourceHeight / ImageHeight
            Dim ThumbNail_Size : ThumbNail_Size = sizeY

            If sizeX > sizeY Then    ThumbNail_Size = sizeX
            If ThumbNail_Size < 1 Then    ThumbNail_Size = 1

            ThumbWidth    = Int(SourceWidth / ThumbNail_Size)    '// 비율에 맞게 조정된 가로사이즈
            ThumbHeight    = Int(SourceHeight / ThumbNail_Size)  '// 비율에 맞게 조정된 세로사이즈
        End If
        '// E: Stretch

        Call objCxImage.Resample(ThumbWidth, ThumbHeight, ImageType)  '// 이미지변형

        '// Save(saveFullPathName, ImageType)
        Call ObjCxImage.Save(saveName, 3)  '// 저장(종류에 관계없이 jpg 변환...파일명이같으면 덮어씌운다)

        Set objCxImage = Nothing           '// 개체종료

        '// 리턴
        If Err.Number <> 0 Then
            getMakeThumbNail = ""
        Else
            getMakeThumbNail = Mid( saveName, InstrRev(saveName, "\") + 1 ) '// 썸네일 파일명 리턴
        End If
    On Error GoTo 0
End Function

thumb_file = getMakeThumbNail(storedir&FName , resizeWidth, resizeHeight,false)
%>


관련자료
http://trend21c.tistory.com/1134 
http://ankyu.entersoft.kr/lecture/ASP/06_image04.asp 
  • 트위터로 보내기
  • 페이스북으로 보내기
  • 구글플러스로 보내기
  • 카카오톡으로 보내기

댓글목록

등록된 댓글이 없습니다.


Total 197건 1 페이지
기술자료 목록
번호 제목
197 ClassicASP   863  2018-03-28 18:12 ~ 2018-03-28 20:59  
196 ClassicASP   962  2018-03-16 04:51 ~ 2018-03-16 04:56  
195 ClassicASP   1373  2018-03-12 05:29  
194 ClassicASP   1211  2018-02-23 14:08  
193 ClassicASP   1420  2017-12-27 18:00  
192 ClassicASP   4538  2017-09-13 23:26  
191 ClassicASP   1531  2017-08-30 07:34 ~ 2018-03-15 02:06  
190 ClassicASP   2651  2016-10-28 17:19 ~ 2018-08-24 16:00  
189 ClassicASP   3248  2016-08-18 11:57  
188 ClassicASP   3869  2016-05-28 00:20  
187 ClassicASP   7344  2016-03-09 22:31  
열람중 ClassicASP   5082  2016-02-25 08:45  
185 ClassicASP   3530  2016-02-25 01:04  
184 ClassicASP   7695  2016-02-25 00:52 ~ 2017-01-13 00:00  
183 ClassicASP   4510  2016-02-25 00:48  
182 ClassicASP   7091  2016-02-25 00:16 ~ 2016-02-26 00:00  
181 ClassicASP   3309  2016-01-26 03:24  
180 ClassicASP   2804  2016-01-22 15:58  
179 ClassicASP   2699  2016-01-18 22:59  
178 ClassicASP   2664  2016-01-13 04:34 ~ 2018-05-28 18:34  
게시물 검색

회원로그인

계좌이체 or 신용카드 결제하기
해피정닷컴으로 대금결제를 할 수 있습니다

접속자집계

오늘
240
어제
2,445
최대
3,174
전체
4,326,972

회사명: 해피정닷컴   사업자번호: 119-05-36414   전화: 070-7600-3500   팩스: 02-865-3528   주소: 08394 서울시 구로구 디지털로 242 한화비즈메트로1차 1502호
대표: 정창용   개인정보보호책임자: 정창용   통신판매업신고번호: 2014-서울구로-0074 [사업자등록정보확인]   건강기능식품영업신고번호 제2018-0080452호
Copyright 2001~2018 해피정닷컴. All Rights Reserved.