zoukankan      html  css  js  c++  java
  • 扭曲图片(验证码)的较正处理C#代码

    在很多的验证码图片中,作者会刻意将图片中的文字“扭曲”一下,如下变成斜体。这样就会增加程序识别的难度。作为挂机程序的编写者,自然要反其道而行之,比较有效的一种方法是将“扭曲”的过程反过来校正一下,如图。这样处理,就比较容易分割了。

    实现的代码如下:
     1        private void button2_Click(object sender, EventArgs e)
     2        {
     3            Bitmap curBitmap = new Bitmap(pictureBox1.Image.Width,pictureBox1.Image.Height);
     4            Graphics g = Graphics.FromImage(curBitmap);
     5            Matrix X = new Matrix();
     6            //  X.Rotate(30);
     7            X.Shear((float)0.166666666670);   //  2/12
     8            g.Transform = X;
     9            // Draw image
    10            //Rectangle cloneRect = GetPicValidByValue(128);  //Get Valid Pic Rectangle
    11            Rectangle cloneRect = new Rectangle(654012);
    12            Bitmap tmpBmp = ((Bitmap)pictureBox1.Image).Clone(cloneRect, pictureBox1.Image.PixelFormat);
    13            g.DrawImage(tmpBmp,
    14                new Rectangle(654012),
    15                 00, tmpBmp.Width,
    16                 tmpBmp.Height,
    17                 GraphicsUnit.Pixel);
    18            
    19            pictureBox2.Image=curBitmap ;
    20        }

    21
  • 相关阅读:
    个人兴趣与公司业务的关系
    分析能力的8个等级(转)
    DSL应用的优点
    架构师应具备的概要技能
    Cheetah
    不能运行VS2005的DSL Tool例子
    推荐:原型工具GUI Design Studio
    Viewpoints 1.0 for Visual Studio .NET 2008
    原创故事 - 不死鸡和不死牛的故事
    Antlr构建表达式引擎
  • 原文地址:https://www.cnblogs.com/yuanbao/p/915497.html
Copyright © 2011-2022 走看看