雷火电竞-中国电竞赛事及体育赛事平台

歡迎來到入門教程網!

C#教程

當前位置:主頁 > 軟件編程 > C#教程 >

C#實現(xiàn)截取驗證碼圖片

來源:本站原創(chuàng)|時間:2020-01-10|欄目:C#教程|點擊:

本文實例為大家分享了C#截取驗證碼圖片的具體代碼,供大家參考,具體內容如下

使用Graphics類中的DrawImage方法,這個方法有30種重載方式,這里只介紹一種,也是我認為最直觀的一種,代碼如下:

using System.Drawing;

namespace kq.Utils
{
 public static class CommonTools
 {

  public static Bitmap getVerifyCode(Bitmap srcBmp, Rectangle rectangle)
  {
   //初始化一個bmp對象,90代表圖片的寬度,37代表高度
   Bitmap bmp = new Bitmap(90, 37);
   Graphics g = Graphics.FromImage(bmp);
   g.DrawImage(srcBmp, 0, 0, rectangle, GraphicsUnit.Pixel);
   return bmp;
  }
 }
}

其中g.DrawImage方法中第一個參數(shù)代表被截取的原圖,第二第三個參數(shù)(0,0)代表在bmp中畫的起點xy坐標,第四個參數(shù)rectangle代表從srcBmp中截取的區(qū)域,最后一個參數(shù)GraphicsUnit.Pixel表示以上代表距離以及區(qū)域的參數(shù)的單位,Pixel代表像素。

以下是使用方式:

using kq.Utils;
using OpenQA.Selenium;
using OpenQA.Selenium.Chrome;
using System.Drawing;

namespace kq
{
 class Program
 {
  static void Main(string[] args)
  {
   try
   {
    string screenImg = @"d:\screenImg.png";

    Bitmap fromBmp = new Bitmap(screenImg);
    Rectangle section1 = new Rectangle(936, 523, 90, 37);

    Bitmap bmp = CommonTools.getVerifyCode(fromBmp, section1);

    bmp.Save(@"d:\驗證碼.bmp");
   }
   catch (System.Exception e)
   {
    System.Console.WriteLine(e.Message);
   }

  }
 }
}

假設我們要截取一張圖片中的驗證碼部分,代碼中的(936,523)代表原圖中驗證碼左上角的坐標,(90,37)分別表示驗證碼的長和高,以上單位都是像素,如下圖:

最后截取出來的結果如下圖:

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持我們。

上一篇:C#中如何正確的使用字符串String

欄    目:C#教程

下一篇:c#禁止通過拖動,雙擊標題欄改變窗體大小的方法

本文標題:C#實現(xiàn)截取驗證碼圖片

本文地址:http://www.jygsgssxh.com/a1/C_jiaocheng/4984.html

網頁制作CMS教程網絡編程軟件編程腳本語言數(shù)據(jù)庫服務器

如果侵犯了您的權利,請與我們聯(lián)系,我們將在24小時內進行處理、任何非本站因素導致的法律后果,本站均不負任何責任。

聯(lián)系QQ:835971066 | 郵箱:835971066#qq.com(#換成@)

Copyright © 2002-2020 腳本教程網 版權所有