碼棧開發手冊(四)---編碼方式開發(圖片相關函數)
5.1 J_Pic_ReadText(圖片路徑/圖片地址)
作用:抓取圖片上的文字,可以是url地址或者是本地路徑
返回值:圖片上的文字,如果返回值為[OCR:Error]那麼證明圖片識別失敗
例子:
Func Example33()
;聲明一個名為$path1的局域變量,保存文本 "D:\1.jpg"
Local $path1 = "D:\1.jpg"
;聲明一個名為$path2的局域變量,保存文本 "https://img04.taobaocdn.com/bao/uploaded/i4/T1h8VkFX8XXXb1upjX.jpg"
Local $path2 = "https://img04.taobaocdn.com/bao/uploaded/i4/T1h8VkFX8XXXb1upjX.jpg"
;使用此功能需要電腦裝有相應插件
;聲明一個名為$value1的局域變量,保存從$path1路徑的圖片中提取的中文文本
Local $value1 = J_Pic_ReadText($path1, "中文")
;聲明一個名為$value2的局域變量,保存從$path2路徑的圖片中提取的英文文本
Local $value2 = J_Pic_ReadText($path2, "英文")
;以係統信息提示框的形式顯示出$value1保存的數據
J_MsgBox($value1)
;以係統信息提示框的形式顯示出$value2保存的數據
J_MsgBox($value2)
EndFunc ;==>Example33
5.2 J_Pic_WaterMark_Start(原始圖片地址,保存圖片地址)
作用:開啟目標圖片作為打水印的主圖,必須先使用此函數
返回值:無
例子:
Func Example40()
;截取屏幕起始坐標1,1 結束坐標為500,800 的屏幕矩形區域,並保存文件為D:\1.jpg
J_Pic_Capture("D:\1.jpg", 1, 1, 500, 800)
;開始圖片處理,初始文件是"D:\1.jpg",處理之後打算把文件另存為"D:\2.jpg"
J_Pic_WaterMark_Start("D:\1.jpg", "D:\2.jpg")
;在被處理圖片的100,50 像素處打上logo水印(水印路徑:D:\logo.png)
J_Pic_WaterMark_Logo("D:\logo.png", 100, 50)
;在被處理圖片的400,400 像素處打上文本水印,文本字體為紅色,字體微軟雅黑,字號12號,帶下劃線的
J_Pic_WaterMark_Text("taobao.com", 400, 400, 0xFFFF0000, "微軟雅黑", 12, "下劃線")
;在被處理圖片的450,450像素處打上文本水印,字型字號等都是默認的
J_Pic_WaterMark_Text("copy right", 450, 450)
;結束打水印操作,設置保存的圖片清晰度為50%
J_Pic_WaterMark_End(50)
;等比例設置圖片D:\2.jpg高度為1000,並另存為D:\3.jpg
J_Pic_Resize("D:\2.jpg", "D:\3.jpg", 1000, "高度")
;等比例設置圖片D:\2.jpg寬度為2000,並另存為D:\4.jpg
J_Pic_Resize("D:\2.jpg", "D:\4.jpg", 2000, "寬度")
;設置圖片D:\2.jpg寬度為700高度為1000,並另存為D:\5.jpg
J_Pic_Resize("D:\2.jpg", "D:\5.jpg", 700, 1000)
EndFunc ;==>Example40
5.3 J_Pic_WaterMark_Text(文本, X坐標,Y坐標,[顏色:0xff000000],[字體:宋體], [字符大小:12], [模式:正常/粗體/斜體/下劃線/刪除線])
作用:在已經打開的圖片中打文字水印
返回值:無
例子:
Func Example40()
;截取屏幕起始坐標1,1 結束坐標為500,800 的屏幕矩形區域,並保存文件為D:\1.jpg
J_Pic_Capture("D:\1.jpg", 1, 1, 500, 800)
;開始圖片處理,初始文件是"D:\1.jpg",處理之後打算把文件另存為"D:\2.jpg"
J_Pic_WaterMark_Start("D:\1.jpg", "D:\2.jpg")
;在被處理圖片的100,50 像素處打上logo水印(水印路徑:D:\logo.png)
J_Pic_WaterMark_Logo("D:\logo.png", 100, 50)
;在被處理圖片的400,400 像素處打上文本水印,文本字體為紅色,字體微軟雅黑,字號12號,帶下劃線的
J_Pic_WaterMark_Text("taobao.com", 400, 400, 0xFFFF0000, "微軟雅黑", 12, "下劃線")
;在被處理圖片的450,450像素處打上文本水印,字型字號等都是默認的
J_Pic_WaterMark_Text("copy right", 450, 450)
;結束打水印操作,設置保存的圖片清晰度為50%
J_Pic_WaterMark_End(50)
;等比例設置圖片D:\2.jpg高度為1000,並另存為D:\3.jpg
J_Pic_Resize("D:\2.jpg", "D:\3.jpg", 1000, "高度")
;等比例設置圖片D:\2.jpg寬度為2000,並另存為D:\4.jpg
J_Pic_Resize("D:\2.jpg", "D:\4.jpg", 2000, "寬度")
;設置圖片D:\2.jpg寬度為700高度為1000,並另存為D:\5.jpg
J_Pic_Resize("D:\2.jpg", "D:\5.jpg", 700, 1000)
EndFunc ;==>Example40
5.4 J_Pic_WaterMark_Logo(水印Logo路徑, X坐標, Y坐標)
作用:在已經打開的圖片中打LOGO水印
返回值:無
例子:
Func Example40()
;截取屏幕起始坐標1,1 結束坐標為500,800 的屏幕矩形區域,並保存文件為D:\1.jpg
J_Pic_Capture("D:\1.jpg", 1, 1, 500, 800)
;開始圖片處理,初始文件是"D:\1.jpg",處理之後打算把文件另存為"D:\2.jpg"
J_Pic_WaterMark_Start("D:\1.jpg", "D:\2.jpg")
;在被處理圖片的100,50 像素處打上logo水印(水印路徑:D:\logo.png)
J_Pic_WaterMark_Logo("D:\logo.png", 100, 50)
;在被處理圖片的400,400 像素處打上文本水印,文本字體為紅色,字體微軟雅黑,字號12號,帶下劃線的
J_Pic_WaterMark_Text("taobao.com", 400, 400, 0xFFFF0000, "微軟雅黑", 12, "下劃線")
;在被處理圖片的450,450像素處打上文本水印,字型字號等都是默認的
J_Pic_WaterMark_Text("copy right", 450, 450)
;結束打水印操作,設置保存的圖片清晰度為50%
J_Pic_WaterMark_End(50)
;等比例設置圖片D:\2.jpg高度為1000,並另存為D:\3.jpg
J_Pic_Resize("D:\2.jpg", "D:\3.jpg", 1000, "高度")
;等比例設置圖片D:\2.jpg寬度為2000,並另存為D:\4.jpg
J_Pic_Resize("D:\2.jpg", "D:\4.jpg", 2000, "寬度")
;設置圖片D:\2.jpg寬度為700高度為1000,並另存為D:\5.jpg
J_Pic_Resize("D:\2.jpg", "D:\5.jpg", 700, 1000)
EndFunc ;==>Example40
5.5 J_Pic_WaterMark_End([圖片品質:1-100]) 作用:保存打水印的圖片並結束本張圖片的圖形處理
作用:開啟目標圖片作為打水印的主圖,必須先使用此函數
返回值:無
例子:
Func Example40()
;截取屏幕起始坐標1,1 結束坐標為500,800 的屏幕矩形區域,並保存文件為D:\1.jpg
J_Pic_Capture("D:\1.jpg", 1, 1, 500, 800)
;開始圖片處理,初始文件是"D:\1.jpg",處理之後打算把文件另存為"D:\2.jpg"
J_Pic_WaterMark_Start("D:\1.jpg", "D:\2.jpg")
;在被處理圖片的100,50 像素處打上logo水印(水印路徑:D:\logo.png)
J_Pic_WaterMark_Logo("D:\logo.png", 100, 50)
;在被處理圖片的400,400 像素處打上文本水印,文本字體為紅色,字體微軟雅黑,字號12號,帶下劃線的
J_Pic_WaterMark_Text("taobao.com", 400, 400, 0xFFFF0000, "微軟雅黑", 12, "下劃線")
;在被處理圖片的450,450像素處打上文本水印,字型字號等都是默認的
J_Pic_WaterMark_Text("copy right", 450, 450)
;結束打水印操作,設置保存的圖片清晰度為50%
J_Pic_WaterMark_End(50)
;等比例設置圖片D:\2.jpg高度為1000,並另存為D:\3.jpg
J_Pic_Resize("D:\2.jpg", "D:\3.jpg", 1000, "高度")
;等比例設置圖片D:\2.jpg寬度為2000,並另存為D:\4.jpg
J_Pic_Resize("D:\2.jpg", "D:\4.jpg", 2000, "寬度")
;設置圖片D:\2.jpg寬度為700高度為1000,並另存為D:\5.jpg
J_Pic_Resize("D:\2.jpg", "D:\5.jpg", 700, 1000)
EndFunc ;==>Example40
5.6 J_Pic_to_text(cdn上圖片url)
作用:識別alicnd上圖片上文字
返回值:-1表示異常,0表示圖片正在識別中,成功返回圖片文字數組
例子:
func test()
local $imgPath = 'https://i.mmcdn.cn/simba/img/TB1Kvv6OXXXXXcCXFXXSutbFXXX.jpg'
local $textResult = J_Pic_to_text($imgPath)
if $textResult = - 1 then
local $msg = J_GetErrorMsg()
j_log('異常信息:'&$msg)
ElseIf $textResult = 0 then
J_MsgBox("圖片正在分析中")
else
;獲取文字
for $i = 0 to UBound($textResult)-1
J_LOG('圖片上的文字:'&$textResult[$i])
next
endif
endfunc
本文轉自碼棧平台
最後更新:2017-05-13 08:46:36