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

來源:互聯網
上載者:User

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

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.