国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 苍南县| 永昌县| 通州市| 唐海县| 海城市| 商南县| 灌阳县| 兴隆县| 霍林郭勒市| 高雄县| 昌黎县| 区。| 莎车县| 教育| 温宿县| 高平市| 新泰市| 大新县| 常宁市| 慈溪市| 太原市| 安宁市| 方城县| 康乐县| 龙海市| 华亭县| 韩城市| 溧阳市| 龙州县| 武胜县| 龙江县| 寻乌县| 江陵县| 丽江市| 沅陵县| 防城港市| 建宁县| 高阳县| 尼木县| 长丰县| 班戈县|