易语言+精易模块 访问百度api案例

.版本 2
.支持库 e2ee
.支持库 iconv
.支持库 shell
.支持库 internet

.程序集 窗口程序集_启动窗口

.子程序 __启动窗口_创建完毕






.子程序 获取授权, 文本型, 公开
.参数 grant_type, 文本型
.参数 client_id, 文本型
.参数 client_secret, 文本型
.局部变量 数据, 文本型
.局部变量 文本, 文本型
.局部变量 json, 类_json

' grant_type=client_credentials&client_id=Va5yQRHlA4Fq5eR3LT0vuXV4&client_secret=0rDSjzQ20XUj5itV6WRtznPQSzr5pVw2&
数据 = “grant_type=” + grant_type + “&client_id=” + client_id + “&client_secret=” + client_secret
文本 = 网页_访问S (#百度授权服务地址, 1, 数据, , , #请求协议头, , , , , , , , , , , , )
json.解析 (文本)
返回 (json.取通用属性 (“access_token”, ))

.子程序 获取图片文本, 文本型, 公开
.参数 image, 字节集, 可空, 图像数据,base64编码后进行urlencode,要求base64编码和urlencode后大小不超过4M,最短边至少15px,最长边最大4096px,支持jjpg/jpeg/png/bmp格式,当image字段存在时url字段失效
.参数 url, 文本型, 可空, 图片完整URLURL长度不超过1024字节,URL对应的图片base64编码后大小不超过4M,最短边至少15px,最长边最大4096px,支持jpg/jpeg/png/bmp格式,当image字段存在时url字段失效,不支持https的图片链接
.参数 language_type, 文本型, 可空, '识别语言类型,默认为CHN_ENG。可选值包括:- CHN_ENG:中英文混合;- ENG:英文;- POR:葡萄牙语;- FRE:法语;- GER:德语;- ITA:意大利语;- SPA:西班牙语;- RUS:俄语;- JAP:日语;- KOR:韩语
.参数 detect_direction, 逻辑型, 可空, 是否检测图像朝向,默认不检测,即:false。朝向是指输入图像是正常方向、逆时针旋转90/180/270度。可选值包括:- true:检测朝向;- false:不检测朝向。
.参数 detect_language, 逻辑型, 可空, 是否检测语言,默认不检测。当前支持(中文、英语、日语、韩语)
.参数 probability, 逻辑型, 可空, 是否返回识别结果中每一行的置信度
.局部变量 access_token, 文本型, , , 通过API Key和Secret Key获取的access_token,
.局部变量 数据, 文本型
.局部变量 imageStr, 文本型
.局部变量 detect_directionStr, 文本型
.局部变量 detect_languageStr, 文本型
.局部变量 probabilityStr, 文本型
.局部变量 文本, 文本型
.局部变量 json, 类_json
.局部变量 文本2, 文本型
.局部变量 i, 整数型

access_token = 获取授权 (“client_credentials”, #APIKEY, #SECRETKEY)
.如果真 (是否为空 (language_type))
    language_type = “CHN_ENG.如果真结束
.如果真 (是否为空 (detect_direction))
    detect_direction = 假
.如果真结束
.如果 (detect_direction)
    detect_directionStr = “true.否则
    detect_directionStr = “false.如果结束

.如果真 (是否为空 (detect_language))
    detect_language = 假
.如果真结束
.如果 (detect_language)
    detect_languageStr = “true.否则
    detect_languageStr = “false.如果结束
.如果真 (是否为空 (probability))
    probability = 假
.如果真结束
.如果 (probability)
    probabilityStr = “true.否则
    probabilityStr = “false.如果结束

数据 = “access_token=” + access_token + “&language_type=” + language_type + “&detect_direction=” + detect_directionStr + “&detect_language=” + detect_languageStr + “&probability=” + probabilityStr
.如果真 (取反 (是否为空 (url)))
    数据 = 数据 + “&url=” + url
.如果真结束
.如果真 (取反 (是否为空 (image)))
    imageStr = URL编码 (Base64编码 (image, ), )
    数据 = 数据 + “&image=” + imageStr
.如果真结束
文本 = 到文本 (编码转换 (到字节集 (网页_访问S (#百度通用文字识别, 1, 数据, , , #请求协议头, , , , , , , , , , , , )), #编码_UTF_8, #编码_GB18030, ))
输出调试文本 (文本)
json.解析 (文本)
.变量循环首 (0, json.成员数 (“words_result”)1, 1, i)
    文本2 = 文本2 + json.取通用属性 (“words_result[” + 到文本 (i) + “].words”, ) + “ ” + #换行符 + #换行符
.变量循环尾 ()
返回 (文本2)



.子程序 获取图片文本高精度, 文本型, 公开
.参数 image, 字节集, 可空, 图像数据,base64编码后进行urlencode,要求base64编码和urlencode后大小不超过4M,最短边至少15px,最长边最大4096px,支持jjpg/jpeg/png/bmp格式,当image字段存在时url字段失效
.参数 detect_direction, 逻辑型, 可空, 是否检测图像朝向,默认不检测,即:false。朝向是指输入图像是正常方向、逆时针旋转90/180/270度。可选值包括:- true:检测朝向;- false:不检测朝向。
.参数 probability, 逻辑型, 可空, 是否返回识别结果中每一行的置信度
.局部变量 access_token, 文本型, , , 通过API Key和Secret Key获取的access_token,
.局部变量 数据, 文本型
.局部变量 imageStr, 文本型
.局部变量 detect_directionStr, 文本型
.局部变量 probabilityStr, 文本型
.局部变量 文本, 文本型
.局部变量 json, 类_json
.局部变量 文本2, 文本型
.局部变量 i, 整数型

access_token = 获取授权 (“client_credentials”, #APIKEY, #SECRETKEY)
.如果真 (是否为空 (detect_direction))
    detect_direction = 假
.如果真结束
.如果 (detect_direction)
    detect_directionStr = “true.否则
    detect_directionStr = “false.如果结束


.如果真 (是否为空 (probability))
    probability = 假
.如果真结束
.如果 (probability)
    probabilityStr = “true.否则
    probabilityStr = “false.如果结束

数据 = “access_token=” + access_token + “&detect_direction=” + detect_directionStr + “&probability=” + probabilityStr
imageStr = URL编码 (Base64编码 (image, ), )
数据 = 数据 + “&image=” + imageStr
文本 = 到文本 (编码转换 (到字节集 (网页_访问S (#百度通用文字识别高精度版, 1, 数据, , , #请求协议头, , , , , , , , , , , , )), #编码_UTF_8, #编码_GB18030, ))
输出调试文本 (文本)
json.解析 (文本)
.变量循环首 (0, json.成员数 (“words_result”)1, 1, i)
    文本2 = 文本2 + json.取通用属性 (“words_result[” + 到文本 (i) + “].words”, ) + “ ” + #换行符 + #换行符
.变量循环尾 ()
返回 (文本2)

.子程序 _按钮1_被单击

编辑框2.内容 = 浏览文件夹 (“选择图片”,)

.子程序 _单选框2_被单击

.如果真 (单选框2.选中)
    按钮1.可视 = 假
.如果真结束


.子程序 _单选框1_被单击

.如果真 (单选框1.选中)
    按钮1.可视 = 真
.如果真结束




.子程序 _按钮2_被单击

.如果真 (单选框1.选中)
    .如果真 (组合框1.现行选中项 = 0)
        编辑框1.内容 = 获取图片文本 (读入文件 (编辑框2.内容), , , , ,)
    .如果真结束
    .如果真 (组合框1.现行选中项 = 1)
        编辑框1.内容 = 获取图片文本高精度 (读入文件 (编辑框2.内容), ,)
    .如果真结束

.如果真结束
.如果真 (单选框2.选中)
    .如果真 (组合框1.现行选中项 = 0)
        编辑框1.内容 = 获取图片文本 (, 编辑框2.内容, , , ,)
    .如果真结束
    .如果真 (组合框1.现行选中项 = 1)
        编辑框1.内容 = 获取图片文本高精度 (HTTP读文件 (编辑框2.内容), ,)
    .如果真结束

.如果真结束


.子程序 _编辑框2_内容被改变

.如果真 (单选框1.选中)
    图片框1.图片 = 读入文件 (编辑框2.内容)
.如果真结束
.如果真 (单选框2.选中)
    图片框1.图片 = HTTP读文件 (编辑框2.内容)
.如果真结束

下载源码

你可能感兴趣的:(易语言)