程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> ASP編程 >> 關於ASP編程 >> ASP程序給上傳的圖片增添水印效果!

ASP程序給上傳的圖片增添水印效果!

編輯:關於ASP編程
ASPJPEG是Persits出品的共享軟件,試用期為30天,您可以在這裡下載:http://www.persits.com/aspjpeg.exe。
最新版本號是1.3
=========================================
<%   
    sub   jpegclass(imgurl,fontsize,family,isbold,top,left,content,Horflip)   '調用過程名     

          Dim   Jpeg,font_color,font_size,font_family,f_width,f_height,f_content,f_Horflip   
          '建立實例   
                Set   Jpeg   =   Server.CreateObject("Persits.Jpeg")   
                font_size=10   
                font_family="宋體"   
                f_left=   5   
                f_top=5   

                      if   imgurl<>""   then   
                            Jpeg.Open   Server.MapPath(imgurl)'圖片路徑並打開它   
                      else   
                      response.write   "未找到圖片路徑"   
                      exit   sub     
                      end   if   

                      if   fontsize<>""   then   font_size=fontsize     '字體大小   
                      if   family<>""   then       font_family=family       '字體   
                      if   top<>""   then   f_left=left               '水印離圖片左邊位置   
                      if   left<>""   then   f_top=top         '水印離圖片top位置   
                      if   content=""   then     '水印內容   
                                response.write   "水印什麼內容呢,水印不成功!"   
                                exit   sub   
                      else   
                                f_content=content   
                      end   if   

    
                        '   添加文字水印   
                      Jpeg.Canvas.Font.Color   =   &hff0000         '   紅色   
                      Jpeg.Canvas.Font.Family   =   font_family   
                      jpeg.canvas.font.size=     font_size   
                      if   isbold=1     then       
                      Jpeg.Canvas.Font.Bold   =   True     
                      end   if     
    If   Horflip   =   1   Then   
              Jpeg.FlipH   
      'Jpeg.SendBinary   
                    End   If   
                      Jpeg.Canvas.Print   f_left,     f_top,   f_content   

                        '   保存文件   
                      Jpeg.Save   Server.MapPath(imgurl)   

                      '   注銷對象   
                      Set   Jpeg   =   Nothing   
  response.write   "水印成功,圖片上加了  "&content&""   
  end   sub     

  call   jpegclass("apple.jpg",13,"楷體",1,18,18,"你好,這是水印程序",1)   
  %>   

  先下載aspjpeg組建,注冊後使用 

################轉載方法2####################

ASP給圖片加水印是需要組件的...常用的有aspjpeg軟件和中國人自己開發的wsImage軟件,可以上網搜索下載這兩個軟件,推薦使用咱們中國人自己開發的wsImage,畢竟是中文版,容易操作.

注冊組件的方法:

命令提示符下輸入"regsvr32 [Dll路徑]" 就可以了.

圖片添加水印無非就是獲得圖片大小,然後把水印寫上去..ASP代碼只是起個控制組件的作用.用代碼來說明一切吧.

一:獲得圖片大小(這裡是用象素值表示的.學PhotoShop的朋友都應該明白)

<%

set obj=server.CreateObject("wsImage.Resize") ''調用組件

obj.LoadSoucePic server.mappath("25.jpg") ''打開圖片,圖片名字是25.jpg

obj.GetSourceInfo iWidth,iHeight 

response.write "圖片寬度:" & iWidth & "<br>" ''獲得圖片寬度

response.write "圖片高度:" & iHeight & "<br>" ''獲得圖片高度

strError=obj.errorinfo 

if strError<>"" then

response.write obj.errorinfo

end if

obj.free

set obj=nothing 

%>

''----------------------------------------------------------------''

二:添加文字水印

<%

set obj=server.CreateObject("wsImage.Resize")

obj.LoadSoucePic server.mappath("25.jpg") ''裝載圖片

obj.Quality=75

obj.TxtMarkFont = "華文彩雲" ''設置水印文字字體

obj.TxtMarkBond = false ''設置水印文字的粗細

obj.MarkRotate = 0 ''水印文字的旋轉角度

obj.TxtMarkHeight = 25 ''水印文字的高度

obj.AddTxtMark server.mappath("txtMark.jpg"), "帶你離境", &H00FF00&, 10, 70 

strError=obj.errorinfo ''生成圖片名字,文字顏色即水印在圖片的位置

if strError<>"" then

response.write obj.errorinfo

end if

obj.free

set obj=nothing

%>

''----------------------------------------------------------------''

三:添加圖片水印

<%

set obj=server.CreateObject("wsImage.Resize")

obj.LoadSoucePic server.mappath("25.jpg") ''裝載圖片

obj.LoadImgMarkPic server.mappath("blend.bmp") ''裝載水印圖片

obj.Quality=75 

obj.AddImgMark server.mappath("imgMark.jpg"), 315, 220,&hFFFFFF, 70

strError=obj.errorinfo ''生成圖片名字,文字顏色即水印在圖片的位置

if strError<>"" then

response.write obj.errorinfo

end if

obj.free

set obj=nothing

%>

''----------------------------------------------------------------''

其實給圖片添加水印就這麼簡單.然後我在說下WsImage.dll組件的另外兩個主要用法.包括:

剪裁圖片,生成圖片的縮略圖.

還是以我得習慣,用代碼加注釋說明:

剪裁圖片:

<%

set obj=server.CreateObject("wsImage.Resize")

obj.LoadSoucePic server.mappath("25.jpg")

obj.Quality=75

obj.cropImage server.mappath("25_crop.jpg"),100,10,200,200 ''定義裁減大小和生成圖片名字

strError=obj.errorinfo

if strError<>"" then

response.write obj.errorinfo

end if

obj.free

set obj=nothing

%>

詳細注釋:裁減圖片用到了WsImage的CropImage方法.其中定義生成圖片時候,100,10是左上角的裁減點,即離圖片左邊是100象素,頂端10象素.後兩個200代表的是裁減的寬帶和高和高度.

''----------------------------------------------------------------''

生成圖片縮略圖:

<%

set obj=server.CreateObject("wsImage.Resize")

obj.LoadSoucePic server.mappath("25.jpg") ''加載圖片

obj.Quality=75

obj.OutputSpic server.mappath("25_s.jpg"),0.5,0.5,3 ''定義縮略圖的名字即大小

strError=obj.errorinfo

if strError<>"" then

response.write obj.errorinfo

end if

obj.free

set obj=nothing

%>

詳細說明:

產生縮略圖共有四種導出方式: 

(1) obj.OutputSpic server.mappath("25_s.jpg"),200,150,0

200為輸出寬,150為輸出高,這種輸出形式為強制輸出寬高,可能引起圖片變形。

(2) obj.OutputSpic server.mappath("25_s.jpg"),200,0,1

以200為輸出寬,輸出高將隨比列縮放。

(3) obj.OutputSpic server.mappath("25_s.jpg"),0,200,2

以200為輸出高,輸出寬將隨比列縮放。

(4) obj.OutputSpic server.mappath("25_s.jpg"),0.5,0.5,3

第一個0.5表示生成的縮略圖是原圖寬的一半,即表示寬縮小比例。

第二個0.5表示生成的縮略圖是原圖高的一半,即表示高縮小比例。

寬高的縮小比例一致意味著將對原圖進行比例縮小。寬高的縮放比例如果大於1,則對原圖進行放大。 


希望這點技術性文章對你有幫助.


小程序詳細內容和下載地址:http://www.mbsky.com/SoftView/SoftView_38956.html
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved