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 2,634건 44 페이지
  • RSS
기술자료 목록
1774
전자결제   27847  2016-03-11 18:59 ~ 2016-03-14 00:00  
1773
XpressEngine   13905  2016-03-10 22:31  
1772
ClassicASP   23058  2016-03-09 22:31  
1771
호스팅   13930  2016-03-07 10:42 ~ 2017-09-21 00:00  
1770
Editor   15760  2016-03-03 17:30 ~ 2021-05-21 19:26  
1769
Editor   14664  2016-03-03 14:54  
1768
Editor   19635  2016-03-03 14:51  
1767
그누보드   12521  2016-03-03 13:28  
1766
WindowsServer   15518  2016-02-29 18:25  
열람
ClassicASP   17935  2016-02-25 08:45  
1764
ClassicASP   13694  2016-02-25 01:04  
1763
ClassicASP   19646  2016-02-25 00:52 ~ 2017-01-13 00:00  
1762
ClassicASP   15303  2016-02-25 00:48  
1761
ClassicASP   17810  2016-02-25 00:16 ~ 2016-02-26 00:00  
1760
WindowsServer   11974  2016-02-24 21:32  
1759
HTML   17611  2016-02-21 06:31  
1758
HTML   39124  2016-02-21 00:58 ~ 2016-02-21 00:00  
1757
일반   10219  2016-02-19 17:54  
1756
일반   10899  2016-02-19 17:32  
1755
HTML   14906  2016-02-19 16:59  

검색

해피정닷컴 정보

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

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