易语言过腾讯滑块验证码模块源码和调用例程

易语言过腾讯滑块验证码模块源码和调用例程

.版本 2 .支持库 BmpOperate .支持库 spec .程序集 程序集1 .子程序 _启动子程序, 整数型, , 请在本子程序中放置易模块初始化代码 _临时子程序 () ' 在初始化代码执行完毕后调用测试代码 返回 (0) ' 可以根据您的需要返回任意数值 .子程序 _临时子程序 ' 本名称子程序用作测试程序用,仅在开发及调试环境中有效,编译发布程序前将被系统自动清空,请将所有用作测试的临时代码放在本子程序中。 ***注意不要修改本子程序的名称、参数及返回值类型。 .子程序 取差异度, 双精度小数型, , 取两个点颜色的差异度,值越小,差异越小 .参数 颜色1, 字节集 .参数 颜色2, 字节集 .局部变量 y1, 双精度小数型 .局部变量 u1, 双精度小数型 .局部变量 v1, 双精度小数型 .局部变量 y2, 双精度小数型 .局部变量 u2, 双精度小数型 .局部变量 v2, 双精度小数型 y1 = 0.299 × 颜色1 [1] + 0.587 × 颜色1 [2] + 0.114 × 颜色1 [3] u1 = -0.14713 × 颜色1 [1] - 0.28886 × 颜色1 [2] + 0.436 × 颜色1 [3] v1 = 0.615 × 颜色1 [1] - 0.51498 × 颜色1 [2] - 0.10001 × 颜色1 [3] y2 = 0.299 × 颜色2 [1] + 0.587 × 颜色2 [2] + 0.114 × 颜色2 [3] u2 = -0.14713 × 颜色2 [1] - 0.28886 × 颜色2 [2] + 0.436 × 颜色2 [3] v2 = 0.615 × 颜色2 [1] - 0.51498 × 颜色2 [2] - 0.10001 × 颜色2 [3] 返回 (求平方根 ((y1 - y2) × (y1 - y2) + (u1 - u2) × (u1 - u2) + (v1 - v2) × (v1 - v2))) .子程序 到位图, 字节集, 公开, 将图片数据转换到位图数据 .参数 图片数据, 字节集 .局部变量 图片, 对象 .局部变量 图, 字节集 图 = 图片数据 .如果真 (取字节集左边 (图, 2) ≠ { 66, 67 } 或 取字节集数据 (图, #短整数型, 29) > 8) 图片.创建图片对象 (图) 图 = 图片.取回图片 () 图片.清除 () .如果真结束 返回 (图) .子程序 计算X坐标, 逻辑型, 公开, 计算滑块X坐标 .参数 阴影起点X, 整数型, 参考, 定位到阴影块后返回块的左边X坐标 .参数 阴影终点X, 整数型, 参考 可空, 定位到阴影块后返回块的右边X坐标,可空 .参数 图片名, 文本型, 可空, 要载入的位图名,可空 .参数 图片字节集, 字节集, 可空, 字节集和位图二选一,如果两个都填默认用字节集,可空 .参数 阴影块宽度, 整数型, , 验证码阴影快的宽度,不可空 .参数 二值化阀值, 整数型, 可空, 将图片二值化时的阀值,可空,默认150。如需要可自行调整 .局部变量 图片, 位图 .局部变量 y, 整数型 .局部变量 x, 整数型 .局部变量 差值, 整数型 .局部变量 跳出, 逻辑型 .局部变量 颜色, 字节集 .局部变量 上次颜色, 字节集 .局部变量 上次X, 整数型 .局部变量 最终X, 整数型 .局部变量 上次最终X, 整数型 .局部变量 次数, 整数型 .如果 (图片名 = “”) .如果 (图片字节集 ≠ 到字节集 (0)) 图片.载入数据 (图片字节集) .否则 调试输出 (“位图和字节集图片必须二选一”) 返回 (假) .如果结束 .否则 .如果 (图片字节集 ≠ 到字节集 (0) 且 图片名 ≠ “”) 图片.载入数据 (图片字节集) .否则 图片.载入文件 (图片名) .如果结束 .如果结束 .如果真 (二值化阀值 = 0) 二值化阀值 = 150 .如果真结束 上次颜色 = 到字节集 (0) 二值化 (图片.取位图数据 (), 二值化阀值) .计次循环首 (图片.取高度 (), y) y = y - 1 .计次循环首 (图片.取宽度 (), x) 颜色 = 到字节集 (图片.取某点颜色 (x - 1, y)) .如果真 (取差异度 (颜色, 上次颜色) > 100) 差值 = x - 1 - 上次X .如果真 (差值 ≥ 阴影块宽度 - 2 且 差值 ≤ 阴影块宽度 + 2) 最终X = 上次X .判断开始 (最终X = 上次最终X) 次数 = 次数 + 1 .如果真 (次数 > 5) 阴影起点X = 最终X 阴影终点X = x - 1 - 1 跳出 = 真 跳出循环 () .如果真结束 .默认 .判断结束 上次最终X = 最终X .如果真结束 上次X = x - 1 .如果真结束 上次颜色 = 颜色 .计次循环尾 () .如果真 (跳出) 跳出循环 () .如果真结束 .计次循环尾 () .如果真 (y = 图片.取宽度 () + 1 或 阴影起点X = 0) 返回 (假) .如果真结束 返回 (真) .子程序 二值化, 字节集, 公开 .参数 位图数据, 字节集 .参数 阀值, 整数型 .局部变量 位图, 位图 .局部变量 y, 整数型 .局部变量 x, 整数型 .局部变量 亮度, 整数型 位图.载入数据 (位图数据) .计次循环首 (位图.取高度 (), y) .计次循环首 (位图.取宽度 (), x) 亮度 = 位与 (位图.取某点颜色 (x - 1, y - 1), 255) .如果 (亮度 > 阀值) 位图.置某点颜色 (x - 1, y - 1, #白色) .否则 位图.置某点颜色 (x - 1, y - 1, #黑色) .如果结束 处理事件 () .计次循环尾 () .计次循环尾 () 返回 (位图.取位图数据 ())

易语言过腾讯滑块验证码模块源码和调用例程

相关文件下载地址
©下载资源版权归作者所有;本站所有资源均来源于网络,仅供学习使用,请支持正版!

易语言过腾讯滑块验证码模块源码和调用例程》有0个想法

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注