[ASP][Object][AspJpeg]ASPJpeg.dll 's parameter

摘要:Object # AspJpeg @ ASPJpeg.dll 's parameter

Set objImg = Server.CreateObject(”Persits.Jpeg”) objImg.Interpolation = 2 ‘影像加強 0-2
objImg.open xFilePath
response.write “<:::原始值:::> AspJpeg版本=” & objImg.Version & ” 寬=” & objImg.OriginalWidth & “像素” & “高=” & objImg.OriginalHeight & “像素 “
response.write “品質=” & objImg.Quality & ” (0-100)” & “路徑=” & objImg.Version & “”
objImg.Width = objImg.OriginalWidth / 2 ‘變更圖片寬度(範例為50%)
objImg.Height = objImg.OriginalHeight / 2 ‘變更圖片高度(範例為50%)
objImg.Sharpen 2, 250 ‘銳利處理
objImg.Crop 0,0,150,150 ‘切割處理
objImg.FlipH ‘左右翻轉
objImg.FlipV ‘上下翻轉
objImg.RotateL ‘向左旋轉90度
objImg.RotateR ‘向右旋轉90度
◆將圖片秀上文字▁
objImg.Canvas.Font.Color = &HFF0000 ‘顏色
objImg.Canvas.Font.Family = “細明體” ‘字型
objImg.Canvas.Font.Bold = True ‘是否使用粗體
objImg.Canvas.Font.BkMode = False ‘是否使用字體背景色
objImg.Canvas.Font.BkColor = &H000000 ‘字體背景色
objImg.Canvas.Font.Italic = False ‘是否使用斜體字
objImg.Canvas.Font.Rotation = 0 ‘字體旋轉角度
objImg.Canvas.Font.ShadowColor = &H000000 ‘字影顏色
objImg.Canvas.Font.ShadowXOffset = 50 ‘字影X座標
objImg.Canvas.Font.ShadowYOffset = 150 ‘字影Y座標
objImg.Canvas.Font.Size = 14 ‘字體大小
objImg.Canvas.Font.Underlined = True ‘是否加下底線
objImg.Canvas.Circle 100,100,10 ‘畫圓圈
objImg.Canvas.Pen.Color = &H009900 ‘畫圓的圓內填滿顏色
objImg.Canvas.Pen.Width = 1 ‘畫圓的圓周粗細值
objImg.Canvas.Ellipse 0,0,150,150 ‘畫橢圓
objImg.Canvas.Line 0,0,150,150 ‘畫線
‘objImg.Canvas.Arc = 100,50,0,200 objImg.Canvas.Print 100, 100, “I am Odysseus” ,136
◆位置及文字▁
◆編輯圖片外框▁
objImg.Canvas.Pen.Color = &H000000 ‘圖片外框顏色
objImg.Canvas.Pen.Width = 1 ‘圖片外框寬度(像素)
objImg.Canvas.Brush.Solid = False ‘是否使用區域內填滿
objImg.Canvas.Brush.Color = &HFF0000 ‘區域內填滿顏色
objImg.Canvas.Bar 5, 5, objImg.Width, objImg.Height
◆框線產生位置▁
objImg.save xFileCopyToPath
response.write “<:::變化後:::> 寬=” & objImg.Width & “像素” & “高=” & objImg.Height & “像素”
Set objImg = Nothing
※xFileCopyToPath = 圖片儲存位置 必須在objImg.save xFileCopyToPath 之前設定好.

※圖片縮略~~~~~~~~~~
<%
Set Jpeg = Server.CreateObject(”Persits.Jpeg”) 調用組件
Path = Server.MapPath(”images”) & “clock.jpg” 待處理圖片路徑
Jpeg.Open Path 打開圖片
高與寬為原圖片的1/2
Jpeg.Width = Jpeg.OriginalWidth / 2
Jpeg.Height = Jpeg.OriginalHeight / 2
保存圖片
Jpeg.Save Server.MapPath(”images”) & “clock_small.jpg”
%>
<IMG src=”/sblog/images/clock_small.jpg”> 查看處理的圖片

※圖片浮水印 ~~~~~~~~~
<%
Set Jpeg = Server.CreateObject(”Persits.Jpeg”)
Jpeg.Open Server.MapPath(”images/dodge_viper.jpg”)
開始寫文字
Jpeg.Canvas.Font.Color = &000000′ red 顏色
Jpeg.Canvas.Font.Family = “Courier New” 字體
Jpeg.Canvas.Font.Bold = True 是否加粗
Jpeg.Canvas.Print 10, 10, “Copyright (c) XYZ, Inc.”
列印座標x 列印座標y 需要列印的字元
以下是對圖片進行邊框處理
Jpeg.Canvas.Pen.Color = &H000000′ black 顏色
Jpeg.Canvas.Pen.Width = 2 畫筆寬度
Jpeg.Canvas.Brush.Solid = False 是否加粗處理
Jpeg.Canvas.Bar 1, 1, Jpeg.Width, Jpeg.Height
起始X座標 起始Y座標 輸入長度 輸入高度
Jpeg.Save Server.MapPath(”images/dodge_viper_framed.jpg”) 保存
%>
※安全碼 ~~~~~~~~~~
安全瑪的道理和加浮水印差不多
<%
生成安全碼的函數
function make_randomize(max_len,w_n) ‘ max_len 生成長度,w_n:0 可能包含字母,1:只為數字
randomize
for intcounter=1 to max_len
whatnext=int((1-0+1)*rnd+w_n)
if whatnext=0 then
upper=122
lower=97
else
upper=57
lower=48
end if
strnewpass=strnewpass & chr(int((upper-lower+1)*rnd)+lower)
next
make_randomize=strnewpass
end function
%>
生成安全碼的圖片。當然你要預先準備一張背景圖哦
<%
random_num=make_randomize(4,1) 生成4位元數位的安全碼
session(”random_num”)=random_num 為什麼調用session,沒有session的安全碼是完全沒有意義的。呵呵
Set Jpeg = Server.CreateObject(”Persits.Jpeg”) 調用組件
Jpeg.Open Server.MapPath(”infos/random_pic/random_index.gif”) 打開準備的圖片
Jpeg.Canvas.Font.Color = &H006699
Jpeg.Canvas.Font.Family = “Arial Black”
Jpeg.Canvas.Font.Bold = false
Jpeg.Canvas.PrintText 0, -2, random_num
jpeg.save Server.MapPath(”infos/random_pic/random_index.bmp”) 保存
%> <img src=”/sblog/infos/random_pic/random_index.bmp” border=”0″ align=”absmiddle”>

※圖片切割~~~~~~~~
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,再輸入也可以。

※資料庫支援~~~~~~~~
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 文字背景

※AspJpeg組件的預覽和浮水印~~~~~~~~~
‘創建預覽圖片:call CreateView(原始檔的路徑,預覽檔案名及路徑)
Sub CreateView(imagename,tempFilename) ‘定義變數。
Dim PreviewImageFolderName
Dim ogvbox,objFont
Dim Logobox,LogoPath
LogoPath = Server.MapPath(”images”) & “XXX.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
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*ImageWidthogvbox.OriginalWidth
ogvbox.Sharpen 1, 120
ogvbox.Save Server.MapPath(tempFilename) ‘//生成增加浮水印後的圖片的預覽圖片。
End If
Set Logobox=Nothing