国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 宜君县| 泰顺县| 大姚县| 西峡县| 股票| 东台市| 闵行区| 林芝县| 富锦市| 沾化县| 五家渠市| 林西县| 四川省| 清苑县| 昔阳县| 涟源市| 临澧县| 金山区| 礼泉县| 望奎县| 吉隆县| 利津县| 扬州市| 太湖县| 湘阴县| 澎湖县| 嘉荫县| 循化| 台江县| 新干县| 宜川县| 调兵山市| 增城市| 齐河县| 古田县| 阜康市| 连平县| 襄樊市| 平乐县| 万年县| 高安市|