程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> ASP編程 >> 關於ASP編程 >> aspjpeg組件使用方法

aspjpeg組件使用方法

編輯:關於ASP編程
aspjpeg是一款非常強大的圖片處理組件,純英文版本。不過早已經有免費版和破解版,但是對其進行詳細與深入介紹的文章卻是不多,即使有也只牽涉到圖片縮略和圖片水印。可能是因為純英文的緣故。
使用aspjepg主要可以做到:
圖片縮略
圖片水印
安全碼技術
圖片切割
圖片合並
數據庫支持
一、圖片縮略 .

查看處理的圖片 .
二、圖片水印 .
.
三、安全碼
.
安全瑪的道理和加水印差不多。

.
生成安全碼的圖片。


四、圖片切割
.
一直以來,對aspjpeg不了解的人以為是無法用它來進行切割的。
其實有這樣的一個方法的
crop x1,y1,x2,y2
切割長方型左上角x坐標,y坐標 右下角x坐標 y坐標
下面我就做一個演示哈
Set Jpeg =
Server.CreateObject("Persits.Jpeg")
jpeg.open server.MapPath("/pic/1.gif")
jpeg.width=70
Jpeg.Height = Jpeg.OriginalHeight*70 / jpeg.Originawidth
jpeg.crop 0,0,70,52 開始切割其實是把超過52象素的下部分去掉
jpeg.save
server.MapPath("/temp_pic/small_1.gif") 保存
五、圖片合並
.
我們這裡是要把logo圖片加到dodge_viper.jpg圖片上去
Set Photo =
Server.CreateObject("Persits.Jpeg")
PhotoPath = Server.MapPath("images")
& "\dodge_viper.jpg"
Photo.Open PhotoPath
Set Logo =
Server.CreateObject("Persits.Jpeg")
LogoPath = Server.MapPath("images")
& "\clock.jpg"
Logo.Open LogoPath .
Logo.Width = 70
Logo.Height = Logo.Width * Logo.OriginalHeight / Logo.OriginalWidth
.
Photo.DrawImage 0, 0, Logo .
Photo.SendBinary
這裡用了sendBinary的輸出方法。當然,你也可以先保存更改後的dodge_viper.jpg,再輸入也可以。我個人不大喜歡用sendBinary方法,在網速慢的時候容易出錯。在速度方面也不怎樣。
六、數據庫支持
.
這裡不多說了。其實就是Binary方法,大家知道圖片存進數據庫只能存為二進制的文件的。所以代碼就懶的寫了。 .
七、更多方法介紹
.
Canvas.Line(Left, Top, Right, Bottom)
畫一條直線
Canvas.Ellipse(Left, Top, Right, Bottom)
畫出一個橢圓
Canvas.Circle(X, Y,
Radius)
畫出一個圓
Canvas.Bar(Left, Top, Right, Bottom)
畫出一個長方形,上面有代碼介紹了
Canvas.Font.ShadowColor
文字陰影顏色
Canvas.Font.ShadowXOffset As Long
陰影X坐標設定
Canvas.Font.ShadowYOffset As Long
Y坐標設定
Canvas.Font.BkMode As String
文字背景 .

'//------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"" 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組件的預覽和水印生成------結束------
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved