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

首頁 > 編程 > C# > 正文

基于C#實現12306的動態驗證碼變成靜態驗證碼的方法

2019-10-29 21:34:11
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了基于C#實現12306的動態驗證碼變成靜態驗證碼的方法的相關資料,需要的朋友可以參考下
 

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

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

比如這張動態驗證碼

基于C#實現12306的動態驗證碼變成靜態驗證碼的方法

他的靜態效果就是

基于C#實現12306的動態驗證碼變成靜態驗證碼的方法

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

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);

以上代碼有點亂,希望大家不要放棄,其實這些代碼寫的都是精華,代碼比較實用,有哪些不明白的地方歡迎大家留言,我會在第一時間和大家取得聯系的,謝謝大家一直以來對VEVB武林網網站的支持。



注:相關教程知識閱讀請移步到c#教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 龙州县| 余江县| 车险| 固阳县| 乡城县| 阿拉善右旗| 安远县| 岳阳市| 县级市| 精河县| 昭觉县| 岳普湖县| 鲜城| 揭阳市| 防城港市| 临清市| 田阳县| 海阳市| 抚顺县| 道真| 琼结县| 桐乡市| 昌宁县| 锦屏县| 尼勒克县| 永定县| 榆中县| 昌都县| 霍州市| 邓州市| 永福县| 正定县| 云和县| 天津市| 沙田区| 洪雅县| 马关县| 宝应县| 潞城市| 睢宁县| 分宜县|