• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >C#教程 > 基于C#实现12306的动态验证码变成静态验证码的方法

基于C#实现12306的动态验证码变成静态验证码的方法

作者:jerrylsxu 字体:[增加 减小] 来源:互联网 时间:2017-05-28

jerrylsxu 通过本文主要向大家介绍了基于c/s,基于c 的图书管理系统,基于c 的毕业设计,基于c/s架构,基于c/s模式等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

本以为这次12306的动态验证码很厉害,什么刷票软件都不行了,看了以后发现并不是很复杂,估计不出两日刷票软件又会卷土重来,开来要一个验证码很难遏制这些刷票软了。

这次换的动态验证码采用的是GIF格式在客户端输出,至于要拿到这个gif文件然后把动态图的各张图片拼凑起来就能得到完整的静态验证码,接下来就是识别静态验证码的事情了。

比如这张动态验证码

他的静态效果就是

下面是随手写的代码,有点混乱

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

以上代码有点乱,希望大家不要放弃,其实这些代码写的都是精华,代码比较实用,有哪些不明白的地方欢迎大家留言,我会在第一时间和大家取得联系的,谢谢大家一直以来对网站的支持。

</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 基于C#编写经理评分系统
  • 基于C#的UDP协议的同步通信实现代码
  • 基于c#实现的九九乘法表(简单实例)
  • 基于C#的socket编程的TCP异步的实现代码
  • 基于c#用Socket做一个局域网聊天工具
  • 基于C#技术实现身份证识别功能
  • 基于C#的电视台节目表接口调用代码
  • 基于C# 生成Zip压缩包代码
  • 基于C#实现网络爬虫 C#抓取网页Html源码
  • 基于C#实现网页爬虫

相关文章

  • 2017-05-28c#启动EXE文件的方法实例
  • 2017-05-28C#中DataGridView操作技巧
  • 2017-05-28基于C# winform实现图片上传功能的方法
  • 2017-05-28C#连接数据库和更新数据库的方法
  • 2017-05-28浅析C#数据类型转换的几种形式
  • 2017-05-28C#中out与ref的区别实例解析
  • 2017-05-28C#中把任意类型的泛型集合转换成SQLXML数据格式的实例
  • 2017-05-28C#实现集合转换成json格式数据的方法
  • 2017-05-28C#双向链表LinkedList排序实现方法
  • 2017-05-28C#中GridView动态添加列的实现方法

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • c#获取本机在局域网ip地址的二种方法
    • C#微信开发之获取接口调用凭据
    • C#实现简单聊天程序的方法
    • C#导出Excel的方法
    • C#简单的加密类实例
    • 学习C#静态函数及变量的一个精典例子与代码
    • 关于C#基础知识回顾--反射(三)
    • 详细介绍C#之文件校验工具的开发及问题
    • c#字符串去掉空格的二种方法(去掉两端空格)
    • C#异步绑定数据实现方法

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有