我今天給大家講的是ASP給圖片加水印的知識..我的ASP學的很爛..寫的不好大家諒解..
ASP給圖片加水印是需要組件的...常用的有aspjpeg和中國人自己開發的wsImage...前者有30天的免費...後者完全免費...當然我們要用國人的產品了..嘿嘿..
組件可以到我的垃圾場下載http://aknife.ys168.com(下載3.0版本的那個)
註冊組件的方法:
命令提示符下輸入"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為輸出寬,輸出高將隨比列縮放。