我要投稿
  • 您当前的位置:365bet官方 -> 技术教程 -> 网站建设教程 -> 源码精华 -> 教程内容
  • [ 收藏本页教程 ]
  • 结合Aspjpeg组件写的一个Class源码精华教程

    教程作者:佚名    教程来源:不详   教程栏目:源码精华    收藏本页
    <%
    'ASPJPEG综合操作CLASS
    'Authour: tony 05/09/05
    Class AspJpeg
    Dim AspJpeg_Obj,obj
    Private Img_MathPath_From,Img_MathPath_To,Img_Reduce_Size,CoverIf
    Private Img_Frame_Size,Img_Frame_Color,Img_Frame_Solid,Img_Frame_Width,Img_Frame_Height
    Private Img_Font_Content,Img_Font_Family,Img_Font_Color,Img_Font_Quality,Img_Font_Size,Img_Font_Bold,Img_Font_X,Img_Font_Y
    Private Img_PicIn_Path,Img_PicIn_X,Img_PicIn_Y
    '--------------取原文件路径
    Public Property Let MathPathFrom(StrType)
    Img_MathPath_From=StrType
    End Property

    '--------------取文件保存路径
    Public Property Let MathPathTo(strType)
    Img_MathPath_To=strType
    End Property

    '--------------保存文件时是否覆盖已有文件
    Public Property Let CovePro(LngSize)
    If LngSize=0 or LngSize=1 or LngSize=true or LngSize=false then
    CoverIf=LngSize
    End If
    End Property

    '---------------取缩略图/放大图 缩略值
    Public Property Let ReduceSize(LngSize)
    If isNumeric(LngSize) then
    Img_Reduce_Size=LngSize
    End If
    End Property

    '---------------取描边属性
    '边框粗细
    Public Property Let FrameSize(LngSize)
    If isNumeric(LngSize) then
    Img_Frame_Size=Clng(LngSize)
    End If
    End Property
    '边框宽度
    Public Property Let FrameWidth(LngSize)
    If isNumeric(LngSize) then
    Img_Frame_Width=Clng(LngSize)
    End If
    End Property
    '边框高度
    Public Property Let FrameHeight(LngSize)
    If isNumeric(LngSize) then
    Img_Frame_Height=Clng(LngSize)
    End If
    End Property
    '边框颜色
    Public Property Let FrameColor(strType)
    If strType<>"" then
    Img_Frame_Color=strType
    End If
    End Property
    '边框是否加粗
    Public Property Let FrameSolid(LngSize)
    If LngSize=1 or LngSize=0 or LngSize=true or LngSize=false then
    Img_Frame_Solid=LngSize
    End If
    End Property

    '---------------取插入文字属性
    '插入的文字
    Public Property Let Content(strType)
    If strType<>"" then
    Img_Font_Content=strType
    End If
    End Property
    '文字字体
    Public Property Let FontFamily(strType)
    If strType<>"" then
    Img_Font_Family=strType
    End If
    End Property
    '文字颜色
    Public Property Let FontColor(strType)
    If strType<>"" then
    Img_Font_Color=strType
    End If
    End Property
    '文字品质
    Public Property Let FontQuality(LngSize)
    If isNumeric(LngSize) then
    Img_Font_Quality=Clng(LngSize)
    End If
    End Property
    '文字大小
    Public Property Let FontSize(LngSize)
    If isNumeric(LngSize) then
    Img_Font_Size=Clng(LngSize)
    End If
    End Property
    '文字是否加粗
    Public Property Let FontBold(LngSize)
    If LngSize=1 or LngSize=0 or LngSize=true or LngSize=false then
    Img_Font_Bold=LngSize
    End If
    End Property
    '输入文字的X坐标
    Public Property Let FontX(LngSize)
    If isNumeric(LngSize) then
    Img_Font_X=Clng(LngSize)
    End If
    End Property
    '输入文字的Y坐标
    Public Property Let FontY(LngSize)
    If isNumeric(LngSize) then
    Img_Font_Y=Clng(LngSize)
    End If
    End Property

    '---------------取插入图片属性
    '插入图片的路径
    Public Property Let PicInPath(strType)
    Img_PicIn_Path=strType
    End Property
    '图片插入的X坐标
    Public Property Let PicInX(LngSize)
    If isNumeric(LngSize) then
    Img_PicIn_X=Clng(LngSize)
    End If
    End Property
    '图片插入的Y坐标
    Public Property Let PicInY(LngSize)
    If isNumeric(LngSize) then
    Img_PicIn_Y=Clng(LngSize)
    End If
    End Property



    Private Sub Class_Initialize()
    Set AspJpeg_Obj=createObject("Persits.Jpeg")
    Img_MathPath_From=""
    Img_MathPath_To=""
    Img_Reduce_Size=150
    Img_Frame_Size=1
    'Img_Frame_Width=0
    'Img_Frame_Height=0
    'Img_Frame_Color="&H000000"
    'Img_Frame_Bold=false
    Img_Font_Content="GoldenLeaf"
    'Img_Font_Family="Arial"
    'Img_Font_Color="&H000000"
    Img_Font_Quality=3
    Img_Font_Size=14
    'Img_Font_Bold=False
    Img_Font_X=10
    Img_Font_Y=5
    'Img_PicIn_X=0
    'Img_PicIn_Y=0
    CoverIf=1

    End Sub
    Private Sub Class_Terminate()
    Err.Clear
    Set AspJpeg_Obj=Nothing
    End Sub
    '判断文件是否存在
    Private Function FileIs(path)
    Set fsos=Server.createObject("Scripting.FileSystemObject")
    FileIs=fsos.FileExists(path)
    Set fsos=Nothing
    End Function

    '判断目录是否存在
    Private Function FolderIs(path)
    Set fsos=Server.createObject("Scripting.FileSystemObject")
    FolderIs=fsos.FolderExists(path)
    Set fsos=Nothing
    End Function
    '*******************************************
    '函数作用:取得当前文件的上一级路径
    '*******************************************
    Private Function UpDir(ByVal D)
    If Len(D) = 0 then
    UpDir=""
    Else
    UpDir=Left(D,InStrRev(D,"\")-1)
    End If
    End Function

    Private Function Errors(Errors_id)
    select Case Errors_id
    Case "0"
    Errors="指定文件不存在"
    Case 1
    Errors="指定目录不存在"
    Case 2
    Errors="已存在相同名称文件"
    Case 3
    Errors="参数溢出"
    End select
    End Function


    '取图片宽度
    Public Function ImgInfo_Width(Img_MathPath)
    If Not(FileIs(Img_MathPath)) then
    'Exit Function
    ImgInfo_Width=Errors(0)
    Else
    AspJpeg_Obj.Open Img_MathPath
    ImgInfo_Width=AspJpeg_Obj.width
    End If
    End Function
    '取图片高度
    Public Function ImgInfo_Height(Img_MathPath)
    If Not(FileIs(Img_MathPath)) then
    'Exit Function
    ImgInfo_Height=Errors(0)
    Else
    AspJpeg_Obj.Open Img_MathPath
    ImgInfo_Height=AspJpeg_Obj.height
    End If
    End Function
    '生成缩略图/放大图
    Public Function Img_Reduce()
    If Not(FileIs(Img_MathPath_From)) then
    Img_Reduce=Errors(0)
    Exit Function
    End If
    If Not(FolderIs(UpDir(Img_MathPath_To))) then
    Img_Reduce=Errors(1)
    Exit Function
    End If
    If CoverIf=0 or CoverIf=False then
    If FileIs(Img_MathPath_To) then
    Img_Reduce=Errors(2)
    Exit Function
    End If
    End If
    AspJpeg_Obj.Open Img_MathPath_From
    AspJpeg_Obj.PreserveAspectRatio = True
    If AspJpeg_Obj.OriginalWidth>AspJpeg_Obj.OriginalHeight Then
    AspJpeg_Obj.Width=Img_Reduce_Size
    Else
    AspJpeg_Obj.Height=Img_Reduce_Size
    End If
    If AspJpeg_Obj.OriginalWidth>Img_Reduce_Size or AspJpeg_Obj.OriginalHeight>Img_Reduce_Size Then
    If AspJpeg_Obj.Width<Img_Reduce_Size or AspJpeg_Obj.Height<Img_Reduce_Size then
    Set AspJpeg_Obj_New=createObject("Persits.Jpeg")
    AspJpeg_Obj_New.new Img_Reduce_Size,Img_Reduce_Size,&HFFFFFF
    AspJpeg_Obj_New.DrawImage (150-AspJpeg_Obj.width)/2,(150-AspJpeg_Obj.height)/2,AspJpeg_Obj
    If Img_Frame_Size>0 then
    Call Img_Pen(AspJpeg_Obj_New)
    End If
    If Img_Font_Content<>"" then<
    我要投稿   -   广告合作   -   关于本站   -   友情连接   -   网站地图   -   联系我们   -   版权声明   -   设为首页   -   加入收藏   -   网站留言
    Copyright © 2009 - 20012 www.www.ct131.com All Rights Reserved.365bet官方 版权所有