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
  • 相关阅读:
    SLA打印机之打印机介绍
    SLA打印机之Slc文件解析
    Rayland-FDM打印机C200介绍
    Android 关机和重启
    AGVS调度系统 控制协议
    AGV 控制协议
    Android wechat 分享
    Android wechat 支付
    Android TimeoutExceptions及 wakelock
    flex 兼容性写法
  • 原文地址:https://www.cnblogs.com/yuanbao/p/915497.html
Copyright © 2011-2022 走看看