从网上搜了个叫完美验证码识别的dll,对付些简单的英文+数字的验证码效果还可以,主要是它的制作工具简单易用,本着aardio无私奉献的精神,将封装的简单的aardio实例发上:https://pan.lanzou.com/1847398 ,制作工具:https://pan.lanzou.com/1847411 ,封装的不好请不要见怪,实例源码:
import win.ui;
/*DSG{{*/
mainForm = win.form(text="验证码识别";right=434;bottom=140)
mainForm.add(
button={cls="button";text="内存识别";left=174;top=79;right=254;bottom=119;z=4};
button2={cls="button";text="文件识别";left=174;top=24;right=254;bottom=64;z=2};
edit={cls="edit";left=277;top=53;right=424;bottom=94;edge=1;font=LOGFONT(h=-16);multiline=1;z=3};
plus={cls="plus";left=43;top=46;right=146;bottom=98;notify=1;z=1}
)
/*}}*/
mainForm.plus.skin(
background = {
hover = "/res/images/btn-hover.png";
focus = "/res/images/btn-focus.jpg";
active = "/res/images/btn-active.png";
disabled = "/res/images/btn-disabled.png";
}
)
import fsys;
if( !io.exist("d:\wm") ){
fsys.createDir("d:\wm\.dll\");
string.save("d:\wm\.dll\WmCode.dll",string.load("\res\WmCode.dll") )
}
var downVeriCode=function(){
thread.invoke(
function(mainForm){
import inet.whttp;
import thread;
var whttp = inet.whttp();
var img;
var u="http://www.zheyibu.com/validate/getvalidatecode";
do{
img = whttp.get(u);
}while(!img)
thread.set("img", img);
string.save("\veri.png",img);
whttp.close();
mainForm.plus.setBackground(img);
},mainForm
);
}
var getVeriCode=function(f){
thread.invoke(
function(mainForm,f){
import wmCode;
import thread;
var wm=wmCode();
var dat=string.load("\res\卓聘网.dat");
var id=wm.loadWmFromBuffer(dat,"123");
if(!wm.setWmOption(6,80)){//设置模糊系数为80与识别库对应参数
mainForm.msgbox("模糊系数设置失败!");
return ;
};
if(f=="文件识别"){
mainForm.edit.text="文件识别:"+wm.getImageFromFile(io.fullpath("\veri.png"),6);
}else {
var img=thread.get("img");
mainForm.edit.text="内存识别:"+wm.getImageFromBuffer(img,8);
}
},mainForm,f
)
}
mainForm.plus.oncommand = function(id,event){
downVeriCode();
}
mainForm.button2.oncommand = function(id,event){
getVeriCode("文件识别");
}
mainForm.button.oncommand = function(id,event){
getVeriCode("内存识别");
}
downVeriCode();
mainForm.enableDpiScaling();
mainForm.show();
return win.loopMessage();
|