| 
 | 
沙发
 
 
 楼主 |
发表于 2024-5-13 23:46:47
|
只看该作者
 
 
 
 本帖最后由 hs999xl 于 2024-5-13 23:52 编辑  
 
分享两个方法,传2个画板就能生成效验码。 
 
<火山程序 类型 = "通常" 版本 = 1 /> 
 
方法 方法_取**图片 <公开 静态 类型 = 字节集类 折叠> 
参数 参数_四位** <类型 = 文本型 注释 = "4个文本"> 
参数 参数_临时画板 <类型 = 画板> 
参数 参数_最终画板 <类型 = 画板> 
{ 
    变量 局部_返回数据 <类型 = 字节集类> 
    如果 (取文本长度 (参数_四位**) != 4) 
    { 
        返回 (局部_返回数据) 
    } 
 
    变量 局部_临时画板 <类型 = 画板> 
    局部_临时画板 = 参数_临时画板 
    局部_临时画板.自动重画 = 真 
    局部_临时画板.宽度 = 50 
    局部_临时画板.高度 = 50 
    局部_临时画板.画板背景色 = 颜色类.白色 
 
 
    变量 局部_最终画板 <类型 = 画板> 
    局部_最终画板 = 参数_最终画板 
    局部_最终画板.清除 (, , , ) 
    局部_最终画板.自动重画 = 真 
    局部_最终画板.宽度 = 400 
    局部_最终画板.高度 = 100 
    局部_最终画板.画板背景色 = 颜色类.白色 
 
    变量 局部_随机角度 <类型 = 文本型> 
    局部_临时画板.文本颜色 = 颜色类.黑色 
    计次循环 (4) 
    { 
        局部_临时画板.清除 (, , , ) 
        局部_随机角度 = 选择 (取随机数2 (1) == 0, "-", "") + 到文本 (取随机数2 (500)) 
        局部_临时画板.字体 = "黑体,20,0,0,0,0," + 局部_随机角度 
 
        局部_临时画板.定位写出 (局部_临时画板.宽度 / 2 - 10, 局部_临时画板.高度 / 2 - 10, 取文本中间 (参数_四位**, 取循环索引 (), 1), 20) 
        变量 局部_取回图片 <类型 = 位图对象类> 
        局部_临时画板.取图片 (局部_取回图片, , ) 
        局部_最终画板.画图片 (局部_取回图片, 取循环索引 () * 100, 0, 取随机数 (50, 100), 取随机数 (30, 100), ) 
    } 
 
    局部_最终画板.刷子类型 = 填充刷子类型.左斜线 
    局部_最终画板.画笔类型 = 画笔类型.直线 
    局部_最终画板.画笔粗细 = 1 
    <折叠> 计次循环 (10) 
    { 
        变量 局部_起点横 <类型 = 整数> 
        变量 局部_起点纵 <类型 = 整数> 
        局部_起点横 = 取随机数2 (350) 
        局部_起点纵 = 取随机数2 (80) 
        局部_最终画板.刷子颜色 = 多项选择 (取随机数2 (4), 颜色类.紫色, 颜色类.红色, 颜色类.绿色, 颜色类.蓝色, 颜色类.黄色) 
        局部_最终画板.画笔颜色 = 多项选择 (取随机数2 (4), 颜色类.紫色, 颜色类.红色, 颜色类.绿色, 颜色类.蓝色, 颜色类.黄色) 
        局部_最终画板.画椭圆 (局部_起点横, 局部_起点纵, 局部_起点横 + 取随机数2 (20), 局部_起点纵 + 取随机数2 (20)) 
        局部_最终画板.画直线 (取随机数2 (400), 取随机数2 (100), 取随机数2 (400), 取随机数2 (100)) 
 
 
 
 
    } 
 
 
    变量 局部_最终数据 <类型 = 位图对象类> 
    局部_最终画板.取图片 (局部_最终数据, , ) 
    局部_最终数据.取图片数据 (局部_返回数据, , ) 
    返回 (局部_返回数据) 
 
} 
 
方法 方法_生成随机4位** <公开 静态 类型 = 文本型 折叠> 
{ 
    变量 局部_返回值 <类型 = 文本型> 
    计次循环 (4) 
    { 
        局部_返回值 = 局部_返回值 + 选择 (取随机数2 (1) == 0, 到文本 (取随机数2 (9)), 多项选择 (取随机数2 (5), "V", "b", "E", "t", "Q", "n")) 
    } 
 
    返回 (局部_返回值) 
 
 
 
 
 
 
} 
 |   
 
 
 
 |