使用AspJpg製作圖片浮水印

來源:互聯網
上載者:User
上次做過圖片浮水印,效果很差,沒辦法把圖片弄成背景透明的,用背景透明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組件的預覽和浮水印產生



相關文章

Cloud Intelligence Leading the Digital Future

Alibaba Cloud ACtivate Online Conference, Nov. 20th & 21st, 2019 (UTC+08)

Register Now >

Starter Package

SSD Cloud server and data transfer for only $2.50 a month

Get Started >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

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

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