关于码栈

5.图片相关

5.1 J_Pic_ReadText(图片路径/图片地址)

作用:抓取图片上的文字,可以是url地址或者是本地路径
返回值:图片上的文字,如果返回值为[OCR:Error]那么证明图片识别失败
例子:

Func Example33()
    ;声明一个名为$path1的局域变量,保存文本 "D:\1.jpg"
    Local $path1 = "D:\1.jpg"
    ;声明一个名为$path2的局域变量,保存文本 "http://img04.taobaocdn.com/bao/uploaded/i4/T1h8VkFX8XXXb1upjX.jpg"
    Local $path2 = "http://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 G_Pic_CutOut(图片路径[,结果文件名])

说明:此api只有企业版才可使用
作用:扣图能力
参数说明:
图片路径:本地图片或网络图片
结果文件名:扣图处理后图片下载到本地的文件名
例子:


    func Example41()
        local $result = G_Pic_CutOut('https://img.alicdn.com/tfs/TB1cf0JQpXXXXaYXVXXXXXXXXXX-2560-1440.jpg', 'D:\cutOut.jpg')
        if $result = '' then
            j_log('失败,原因:' & J_GetErrorMsg())
        else
            j_log('扣图后的图片地址:' & $result)
        endif
    endfunc

5.7 J_Pic_convertType(原图片文件名称,转换后图片文件名称)

作用:图片格式转换
参数说明:
原图片文件名称: 本地待转换的图片文件名
转换后的图片文件名称:转换后的图片文件名,包含了新文件的保存路径与格式类型
结果说明:返回0失败,返回1成功 例子:

  func Example42()
    ;img to png 将img文件夹下的11.jpg,转换成png格式,并保存到img2目录下
    local $res = J_Pic_convertType('D:\img\11.jpg', 'D:\img2\11.png')
    if $res = 0 then 
      j_log('转换失败:' & J_GetErrorMsg)
    endif
    ;png to bmp 将img文件夹下的11.png,转换成bmp格式,并保存到img2目录下
    $res = J_Pic_convertType('D:\img\22.png', 'D:\img2\22.bmp')
    if $res = 0 then 
      j_log('转换失败:' & J_GetErrorMsg)
    endif
  endfunc