CxImage를 활용하여 ASP에서 썸네일 생성하기 > 기술자료 | 해피정닷컴

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

본문 바로가기

사이트 내 전체검색

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

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

페이지 정보


본문

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 198건 1 페이지
  • RSS
기술자료 목록
198
ClassicASP   2812  2023-09-14 08:38  
197
ClassicASP   4541  2021-11-01 02:08 ~ 2021-11-01 02:40  
196
ClassicASP   9333  2018-03-28 18:12 ~ 2018-03-28 20:59  
195
ClassicASP   9246  2018-03-16 04:51 ~ 2018-03-16 04:56  
194
ClassicASP   11205  2018-03-12 05:29  
193
ClassicASP   9074  2018-02-23 14:08  
192
ClassicASP   11692  2017-12-27 18:00  
191
ClassicASP   15249  2017-09-13 23:26  
190
ClassicASP   12165  2017-08-30 07:34 ~ 2021-02-26 16:47  
189
ClassicASP   12640  2016-10-28 17:19 ~ 2018-08-24 16:00  
188
ClassicASP   11432  2016-08-18 11:57  
187
ClassicASP   17632  2016-05-28 00:20  
186
ClassicASP   22987  2016-03-09 22:31  
열람
ClassicASP   17890  2016-02-25 08:45  
184
ClassicASP   13639  2016-02-25 01:04  
183
ClassicASP   19583  2016-02-25 00:52 ~ 2017-01-13 00:00  
182
ClassicASP   15237  2016-02-25 00:48  
181
ClassicASP   17755  2016-02-25 00:16 ~ 2016-02-26 00:00  
180
ClassicASP   12497  2016-01-26 03:24  
179
ClassicASP   10354  2016-01-22 15:58  

검색

해피정닷컴 정보

회사소개 회사연혁 협력사 오시는길 서비스 이용약관 개인정보 처리방침

회사명: 해피정닷컴   대표: 정창용   전화: 070-7600-3500   팩스: 042-670-8272
주소: (34368) 대전시 대덕구 대화로 160 대전산업용재유통단지 1동 222호
개인정보보호책임자: 정창용   사업자번호: 119-05-36414
통신판매업신고: 제2024-대전대덕-0405호 [사업자등록확인]  
Copyright 2001~2024 해피정닷컴. All Rights Reserved.