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,641건 1 페이지
  • RSS
기술자료 목록
2641
그누보드   252  2024-11-26 21:14 ~ 2024-11-26 21:22  
2640
그누보드   312  2024-11-22 10:52 ~ 2024-11-22 11:03  
2639
호스팅   283  2024-11-19 14:41 ~ 2024-11-19 21:17  
2638
Linux   226  2024-11-18 15:45 ~ 2024-11-18 15:48  
2637
일반   214  2024-11-15 16:45 ~ 2024-11-15 16:46  
2636
Secure   245  2024-11-06 18:48 ~ 2024-11-06 18:50  
2635
영카트   409  2024-10-21 13:44 ~ 2024-10-21 19:42  
2634
전자결제   861  2024-09-05 09:30  
2633
MySQL   1068  2024-03-29 14:14 ~ 2024-03-29 14:14  
2632
그누보드   1306  2024-02-23 18:40 ~ 2024-02-24 06:13  
2631
JavaScript   1401  2024-02-16 18:50 ~ 2024-02-16 20:37  
2630
Java   1364  2024-02-06 16:49  
2629
PHP   1571  2024-02-06 16:42  
2628
호스팅   1485  2024-01-29 12:54  
2627
PHP   1423  2024-01-26 11:04 ~ 2024-01-26 11:13  
2626
MySQL   1582  2024-01-08 17:37 ~ 2024-03-14 16:00  
2625
SQL   1774  2024-01-08 12:36  
2624
영카트   1821  2024-01-04 14:57  
2623
일반   2669  2023-12-15 18:33  
2622
Android   2146  2023-11-30 18:48 ~ 2023-11-30 19:41  

검색

해피정닷컴 정보

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

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