国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發(fā)設(shè)計 > 正文

12306的動態(tài)驗證碼變成靜態(tài)

2019-11-14 13:38:34
字體:
供稿:網(wǎng)友

本以為這次12306的動態(tài)驗證碼很厲害,什么刷票軟件都不行了,看了以后發(fā)現(xiàn)并不是很復雜,估計不出兩日刷票軟件又會卷土重來,開來要一個驗證碼很難遏制這些刷票軟了。

 

這次換的動態(tài)驗證碼采用的是GIF格式在客戶端輸出,至于要拿到這個gif文件然后把動態(tài)圖的各張圖片拼湊起來就能得到完整的靜態(tài)驗證碼,接下來就是識別靜態(tài)驗證碼的事情了。

比如這張動態(tài)驗證碼

他的靜態(tài)效果就是

下面是隨手寫的代碼,有點混亂

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
Image imgGif = Image.FromFile(application.StartupPath + @"/getPassCodeNew.gif");
FrameDimension ImgFrmDim = new FrameDimension(imgGif.FrameDimensionsList[0]);
System.Drawing.Bitmap bp = new Bitmap(imgGif.Size.Width, imgGif.Size.Height);
int nFrameCount = imgGif.GetFrameCount(ImgFrmDim);
for (int i = 0; i < nFrameCount; i++)
{
    imgGif.SelectActiveFrame(ImgFrmDim, i);
    System.Drawing.Bitmap nbp = new Bitmap(imgGif);
    Color dd = nbp.GetPixel(1, 1);
    if (i == 0)
    {
        for (int x = 0; x < nbp.Width; x++)
        {
            for (int y = 0; y < nbp.Height; y++)
            {
                bp.SetPixel(x, y, dd);
            }
        }
    }
    for (int x = 0; x < nbp.Width; x++)
    {
        for (int y = 0; y < nbp.Height; y++)
        {
            Color c = nbp.GetPixel(x, y);
            if (c == dd) continue;
            bp.SetPixel(x, y, c);
        }
    }
}
bp.Save(Application.StartupPath + @"/Frame.jpg", ImageFormat.Bmp);

  


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 通化市| 广西| 阳信县| 乌恰县| 灵宝市| 泽库县| 佳木斯市| 固安县| 永善县| 荔波县| 体育| 巴彦县| 牡丹江市| 恭城| 洛隆县| 察雅县| 福鼎市| 淮南市| 苗栗县| 蓬安县| 聊城市| 高碑店市| 筠连县| 连山| 太仆寺旗| 安岳县| 兰州市| 肥东县| 九寨沟县| 北碚区| 汶上县| 惠来县| 汤阴县| 湘乡市| 陆河县| 福清市| 岑溪市| 宜君县| 和田县| 法库县| 衡阳县|