CxImage를 활용하여 ASP에서 썸네일 생성하기 > 온라인강의

본문 바로가기
 
 
 
오늘 1,081
어제 1,706
최대 2,526
전체 3,395,600

최근 방문자

1011
1853
1775
1756
1706
1081
18 19 20 21 22 23
비즈니스의 시작 비즈명함 ~ 가격, 품질, 배송 3가지 만족을 드리는 비즈명함 / 즉석명함 / 급행서비스 / 서울 전지역 수도권일부 3시간배송

select * from g5_menu where me_use = '1' and me_link like '%lecture%'
온라인강좌 홈 > 온라인강좌 > 온라인강좌

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

페이지 정보

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

본문

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,005건 1 페이지
온라인강의 목록
번호 제목
2005
2004
2003
2002
2001
2000
1999
1998
1997
1996
1995
1994
1993
1992
1991
1990
1989
1988
1987
1986
1985
1984
1983
1982
1981
게시물 검색
 
 
상호: 해피정닷컴 대표:정창용 사업자등록번호:119-05-36414 (08394) 서울시 구로구 디지털로 242 한화비즈메트로1차 1502호
전화: 070-7600-3500 팩스:02-865-3528 개인정보관리:정창용 mail@happyjung.com 에스크로확인
개인정보취급방침
COPYRIGHT 2001~2017 해피정닷컴. All rights reserved. 부가통신사업신고:서울체신청-1217 통신판매신고:2014-서울구로-0074
 
모바일 버전으로 보기