Aspjpeg添加浮水印完整方法

來源:互聯網
上載者:User

ASPJPEG是Persits出品的共用軟體,試用期為30天,您可以在這裡下載:http://www.persits.com/aspjpeg.exe。最新版本號碼是1.3
ASPJPEG是一款功能相當強大的圖象處理組件,用它可以輕鬆地做出圖片的縮圖和為圖片加上浮水印功能。下面簡單介紹一下使用方法:
您先要執行下載得到的exe檔案,安裝該組件
1、為圖片製作縮圖

<% \\\' 建立執行個體
Dim Jpeg,Path
Set Jpeg = Server.CreateObject("Persits.Jpeg")
\\\' 圖片所在位置
Path = Server.MapPath("images") & "\\\\clock.jpg"

\\\' 開啟
Jpeg.Open Path

\\\' 設定縮圖大小(這裡比例設定為50%)
Jpeg.Width = Jpeg.OriginalWidth / 2
Jpeg.Height = Jpeg.OriginalHeight / 2

\\\' 儲存縮圖到指定檔案夾下
Jpeg.Save Server.MapPath("images") & "\\\\clock_small.jpg"

\\\' 登出執行個體
Set Jpeg = Nothing
%>

<IMG SRC="images/clock.jpg"><P>
<IMG SRC="images/clock_small.jpg">

2、為圖片加入浮水印功能
<%
Dim Jpeg
\\\' 建立執行個體
Set Jpeg = Server.CreateObject("Persits.Jpeg")
\\\' 開啟靶心圖表片
Jpeg.Open Server.MapPath("images/dodge_viper.jpg")

\\\' 添加文字浮水印
Jpeg.Canvas.Font.Color = &HFF0000\\\' 紅色
Jpeg.Canvas.Font.Family = "宋體"
Jpeg.Canvas.Font.Bold = True
Jpeg.Canvas.Print 10, 10, "Copyright (c) Cnmaya.org"

\\\' 儲存檔案
Jpeg.Save Server.MapPath("images/dodge_viper_framed.jpg")

\\\' 登出對象
Set Jpeg = Nothing
%>

上次做過圖片浮水印,效果很差,沒辦法把圖片弄成背景透明的,用背景透明gif會自動填滿成白色。用去掉某種顏色的功能,圖片顏色總是不純,出來的效果斑斑點點。今天靈機一動,把這兩個結合起來,用背景透明的gif,並且抽取浮水印底色,果然成功了!

ogvbox.Canvas.Pen.Color = &H000000 \\\'// 邊框的顏色
ogvbox.Canvas.Pen.Width = 1 \\\'// 邊框的粗細
ogvbox.Canvas.Brush.Solid = False \\\'// 圖片邊框內是否填充顏色
ogvbox.DrawImage ogvbox.Width-210, ogvbox.Height-74, Logobox ,0.3,&HFFFFFF \\\'// 加入圖片的位置座標(添加浮水印圖片),我用圖片大小減去浮水印大小,把浮水印加在右下角。參數順序為:水平座標,垂直座標,浮水印圖片地址,水銀透明度,抽取顏色(&H表示16進位)
ogvbox.Canvas.Bar 0, 0, ogvbox.Width, ogvbox.Height \\\'// 圖片邊框線的位置座標和大小
ogvbox.Save Server.MapPath(imagename) \\\'// 組建檔案
\'//------Pollener.com AspJpeg組件的預覽和浮水印產生------開始------
\'建立預覽圖片:call CreateView(原始檔案的路徑,預覽檔案名稱及路徑)
Sub CreateView(imagename,tempFilename)
\'定義變數。
Dim PreviewImageFolderName
Dim ogvbox,objFont
Dim Logobox,LogoPath
LogoPath = Server.MapPath("images") & "\\shuiyin.gif" \'//加入圖片所在路徑及檔案名稱(我的是論壇\\images\\shuiyin.gif)。

Select Case upload_ViewType
Case 0
\'---------------------CreatePreviewImage---------------
set ogvbox = Server.CreateObject("CreatePreviewImage.cGvbox")
ogvbox.SetSavePreviewImagePath=Server.MapPath(tempFilename) \'預覽圖存放路徑。
ogvbox.SetPreviewImageSize =SetPreviewImageSize \'預覽圖寬度。
ogvbox.SetImageFile = trim(Server.MapPath(imagename)) \'imagename原始檔案的實體路徑。
\'建立預覽圖的檔案。
If ogvbox.DoImageProcess=false Then
Response.write "產生預覽圖錯誤:"& ogvbox.GetErrString
End If
Case 1
\'---------------------AspJpegV1.2---------------
Set Logobox = Server.CreateObject("Persits.Jpeg")
\'//建議不要圖片和文字浮水印同時使用,本代碼為使用圖片浮水印。
Logobox.Open LogoPath \'//讀取添加的圖片。

\'//重新設定圖片的大小。
Logobox.Width = 186 \'//用做浮水印的圖片的寬度值(像素)。
Logobox.Height = 52 \'//用做浮水印的圖片的高度值(像素)。
\'//添加浮水印。
Set ogvbox = Server.CreateObject("Persits.Jpeg")
\'//讀取要處理的原檔案。
ogvbox.Open Trim(Server.MapPath(imagename))
If ogvbox.OriginalWidth<Cint(ImageWidth) or ogvbox.Originalheight<Cint(ImageHeight) Then
F_Viewname=""
Set ogvbox = Nothing
Exit Sub
Else
IF ImageMode<>"" and FileExt<>"gif" Then \'//如果將這行改為IF ImageMode<>"" Then則可給上傳的GIF圖片也加上浮水印,但是那些動畫的GIF在加了浮水印以後就只剩第一楨了,根據你的需求酌情處理吧。

\'//關於修改字型及文字顏色的。
\'//ogvbox.Canvas.Font.Color = &H0000FF \'//浮水印文字的顏色,&H後面輸入色彩值。
\'//ogvbox.Canvas.Font.Size = 18 \'//浮水印文字的大小。
\'//ogvbox.Canvas.Font.Family = "Arial" \'//浮水印文字的字型名稱。
\'//ogvbox.Canvas.Font.ShadowColor = &H000000 \'//浮水印文字的陰影色彩。
\'//ogvbox.Canvas.Font.ShadowXoffset = 1 \'//浮水印文字陰影向右位移的像素值,輸入負值則向左位移。
\'//ogvbox.Canvas.Font.ShadowYoffset = 1 \'//浮水印文字陰影向下位移的像素值,輸入負值則向右位移。
\'//ogvbox.Canvas.Font.Quality = 3 \'//浮水印文字的清晰度,從0~4,變換不是很大,建議用2或3。
\'//ogvbox.Canvas.Font.Bold = True \'//浮水印文字是否為粗體,True=粗體 False=正常。

\'ogvbox.Canvas.Print 10, 10, ImageMode \'//浮水印文字的起始座標(像素)。
ogvbox.Canvas.Pen.Color = &H000000 \'//增加浮水印後圖片的邊框色彩。
ogvbox.Canvas.Pen.Width = 1 \'//增加浮水印後圖片的邊框寬度。
ogvbox.Canvas.Brush.Solid = False \'//邊框內是否填充顏色,你可以試試看值為True時的效果^o^
ogvbox.DrawImage ogvbox.width-186, ogvbox.height-52, Logobox, 0.5 \'//浮水印圖片的起始座標,我這裡ogvbox.width-186, ogvbox.height-52,表示圖片在右下角,因為我的圖片寬是186,高是52,所以這樣寫,你可以根據自己的圖片進行調整。0.5是透明度,我這裡是半透明,1表示不透明,你也可以試試看0.7或者0.8的效果。
ogvbox.Canvas.Bar 0, 0, ogvbox.Width, ogvbox.Height \'//浮水印可用的範圍。我這裡表示左上方至右下角,即整張圖片的任意為止都可加浮水印。
ogvbox.Save Server.MapPath(imagename) \'//根據以上參數產生增加浮水印後的圖片檔案。
End If
ogvbox.Width = ImageWidth
ogvbox.height = ImageHeight
\'ogvbox.height = ogvbox.Originalheight*ImageWidth\\ogvbox.OriginalWidth
ogvbox.Sharpen 1, 120
ogvbox.Save Server.MapPath(tempFilename) \'//產生增加浮水印後的圖片的預覽圖片。
End If
Set Logobox=Nothing
\'//------Pollener.com AspJpeg組件的預覽和浮水印產生------結束------

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.