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
  • 相关阅读:
    spoj694 DISUBSTR
    poj3261 Milk Patterns
    poj1743 Musical Theme
    Hdu1403 Longest Common Substring
    bzoj3779 重组病毒
    bzoj3083 遥远的国度
    bzoj3514 Codechef MARCH14 GERALD07加强版
    PAT 乙级 1027 打印沙漏(20) C++版
    PAT 乙级 1060 爱丁顿数(25) C++版
    windows编程之窗口抖动
  • 原文地址:https://www.cnblogs.com/yuanbao/p/915497.html
Copyright © 2011-2022 走看看