用asp浮水印圖片代碼和方法(轉載http://hi.baidu.com/ibanaz/blog/item/ec5b642731b28103918f9dcf.html)
用asp浮水印圖片代碼和方法,請問怎麼解決?
希望能寫出具體的代碼和方法.
----------------------------------------------------------------------------
ASP給圖片加浮水印是需要組件的...常用的有aspjpeg軟體和中國人自己開發的wsImage軟體,可以上網搜尋下載這兩個軟體,推薦使用咱們中國人自己開發的wsImage,畢竟是中文版,容易操作.
註冊組件的方法:
命令提示字元下輸入"regsvr32[Dll路徑]"就可以了.
圖片添加浮水印無非就是獲得圖片大小,然後把浮水印寫上去..ASP代碼只是起個控制組件的作用.用代碼來說明一切吧.
一:獲得圖片大小(這裡是用象素值表示的.學PhotoShop的朋友都應該明白)
<
setobj=server.CreateObject("wsImage.Resize")''調用組件
obj.LoadSoucePicserver.mappath("25.jpg")''開啟圖片,圖片名字是25.jpg
obj.GetSourceInfoiWidth,iHeight
response.write"圖片寬度:"&iWidth&"<br"''獲得圖片寬度
response.write"圖片高度:"&iHeight&"<br"''獲得圖片高度
strError=obj.errorinfo
ifstrError<""then
response.writeobj.errorinfo
endif
obj.free
setobj=nothing
''----------------------------------------------------------------''
二:添加文字浮水印
<
setobj=server.CreateObject("wsImage.Resize")
obj.LoadSoucePicserver.mappath("25.jpg")''裝載圖片
obj.Quality=75
obj.TxtMarkFont="華文彩雲"''設定浮水印文字字型
obj.TxtMarkBond=false''設定浮水印文字的粗細
obj.MarkRotate=0''浮水印文字的旋轉角度
obj.TxtMarkHeight=25''浮水印文字的高度
obj.AddTxtMarkserver.mappath("txtMark.jpg"),"帶你離境",&H00FF00&,10,70
strError=obj.errorinfo''產生圖片名字,文字顏色即浮水印在圖片的位置
ifstrError<""then
response.writeobj.errorinfo
endif
obj.free
setobj=nothing
''----------------------------------------------------------------''
三:添加圖片浮水印
<
setobj=server.CreateObject("wsImage.Resize")
obj.LoadSoucePicserver.mappath("25.jpg")''裝載圖片
obj.LoadImgMarkPicserver.mappath("blend.bmp")''裝載浮水印圖片
obj.Quality=75
obj.AddImgMarkserver.mappath("imgMark.jpg"),315,220,&hFFFFFF,70
strError=obj.errorinfo''產生圖片名字,文字顏色即浮水印在圖片的位置
ifstrError<""then
response.writeobj.errorinfo
endif
obj.free
setobj=nothing
''----------------------------------------------------------------''
其實給圖片添加浮水印就這麼簡單.然後我在說下WsImage.dll組件的另外兩個主要用法.包括:
剪裁圖片,產生圖片的縮圖.
還是以我得習慣,用代碼加註釋說明:
剪裁圖片:
<
setobj=server.CreateObject("wsImage.Resize")
obj.LoadSoucePicserver.mappath("25.jpg")
obj.Quality=75
obj.cropImageserver.mappath("25_crop.jpg"),100,10,200,200''定義裁減大小和產生圖片名字
strError=obj.errorinfo
ifstrError<""then
response.writeobj.errorinfo
endif
obj.free
setobj=nothing
詳細注釋:裁減圖片用到了WsImage的CropImage方法.其中定義產生圖片時候,100,10是左上方的裁減點,即離圖片左邊是100象素,頂端10象素.後兩個200代表的是裁減的寬頻和高和高度.
''----------------------------------------------------------------''
產生圖片縮圖:
<
setobj=server.CreateObject("wsImage.Resize")
obj.LoadSoucePicserver.mappath("25.jpg")''載入圖片
obj.Quality=75
obj.OutputSpicserver.mappath("25_s.jpg"),0.5,0.5,3''定義縮圖的名字即大小
strError=obj.errorinfo
ifstrError<""then
response.writeobj.errorinfo
endif
obj.free
setobj=nothing
詳細說明:
產生縮圖共有四種匯出方式:
(1)obj.OutputSpicserver.mappath("25_s.jpg"),200,150,0
200為輸出寬,150為輸出高,這種輸出形式為強制輸出寬高,可能引起圖片變形。
(2)obj.OutputSpicserver.mappath("25_s.jpg"),200,0,1
以200為輸出寬,輸出高將隨比列縮放。
(3)obj.OutputSpicserver.mappath("25_s.jpg"),0,200,2
以200為輸出高,輸出寬將隨比列縮放。
(4)obj.OutputSpicserver.mappath("25_s.jpg"),0.5,0.5,3
第一個0.5表示產生的縮圖是原圖寬的一半,即表示寬縮小比例。
第二個0.5表示產生的縮圖是原圖高的一半,即表示高縮小比例。
寬高的縮小比例一致意味著將對原圖進行比例縮小。寬高的縮放比例如果大於1,則對原圖進行放大。
希望這點技術性文章對你有協助.
----------------------------------------------------------------------------------------------------------
由於最近本人比較忙,前幾天我找了一個小程式,可以通過WEB來批量給自己的圖片增加印章
目前此程式還未測試,狀況不明,有時間再來研究,見諒。。。。
:http://www.mbsky.com/SoftView/SoftView_38956.html