欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C#使用Twain協(xié)議開發(fā)一個高掃儀對接功能

 更新時間:2024年02月03日 09:31:12   作者:搬磚的詩人Z  
這篇文章主要為大家詳細介紹了C#如何使用Twain協(xié)議開發(fā)一個高掃儀對接功能,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學習一下

請先安裝TwainDotNet

實現(xiàn)代碼

        private static AreaSettings AreaSettings = new AreaSettings(Units.Centimeters, 0.1f, 5.7f, 0.1F + 2.6f, 5.7f + 2.6f);

        Twain _twain;
        ScanSettings _settings;

  public ScanForm(string tName, string cNumber, List<string> names, CaseSelectForm form)
  {
      InitializeComponent();

      try
      {
          SelectForm = form;

          this.DoubleBuffered = true;//設置本窗體
          SetStyle(ControlStyles.UserPaint, true);
          SetStyle(ControlStyles.AllPaintingInWmPaint, true); // 禁止擦除背景.
          SetStyle(ControlStyles.DoubleBuffer, true); // 雙緩沖

          myNames = names;
          _typeName = tName;
          _caseNumber = cNumber;
          this.Text = "掃描文件 - " + tName + " - " + cNumber;

          _twain = new Twain(new WinFormsWindowMessageHook(this));
          _twain.TransferImage += delegate (Object sender, TransferImageEventArgs args)
          {
              if (args.Image != null)
              {
                  Bitmap image = new Bitmap(args.Image);

                  string temp = DateTime.Now.ToString("yyyyMMddHHmmssffff") + ".jpg";
                  //緩存圖片到磁盤
                  string path = tempPath + temp;
                  image.Save(path, ImageFormat.Jpeg);
                  tempPicUrl.Add(path);

                  var resizeImg = ImageHelper.KiResizeImage(image, 0.2f);
                  //緩存圖片到磁盤
                  string path2 = resizePath + temp;
                  resizeImg.Save(path2, ImageFormat.Jpeg);

                  //scanImages.Add(image);
                  imageList1.Images.Add(image);

                  image.Dispose();
              }
              args.Image.Dispose();
          };
          _twain.ScanningComplete += delegate
          {
              for (int i = LastScanCount; i < imageList1.Images.Count; i++)
              {
                  ListViewItem li = new ListViewItem();

                  li.Text = i.ToString();
                  li.ImageIndex = i;
                  mlistview_Image.Items.Add(li);
                  ImageStateModels.Add(new ImageStateModel
                  {
                      Checked = false,
                      Person = "無",
                      tempPicUrl = tempPicUrl[i],
                      Name = i.ToString()
                  });
              }
              LastScanCount = ImageStateModels.Count;
              mlbl_PageCount.Text = string.Format("本次掃描 {0} 頁", ImageStateModels.Count);
              Enabled = true;
              this.Activate();
              this.WindowState = FormWindowState.Maximized;
          };
          // ocr = new TesseractEngine("./tessdata", "chi_sim");

          InitInfo();
          InitCut();
          InitSearch();
          InitWords();
          DeleteFileByDir();
          InitMatchImg();
      }
      catch (Exception ex)
      {
          log4netHelper.Error("---報錯方法--ScanForm");
          log4netHelper.Error(ex.Message);
          log4netHelper.Error(ex.StackTrace);
          log4netHelper.Error(ex.ToString());
          log4netHelper.Error("---end---");
          MessageBox.Show("請檢查設備是否開啟或者鏈接!");
      }
  }
   private void Init()
   {
       try
       {
           mcb_userName.DataSource = myNames;

           mtbPage_Set.SelectedIndex = 0;

           string savetype = ConfigHelper.ReadConfigPath("savetype.txt");
           if (savetype.Trim() == "1")
           {
               mcBox_savetype.Text = ".jpg";
           }
           else if (savetype.Trim() == "0")
           {
               mcBox_savetype.Text = ".PDF";
           }
           _saveType = savetype;
       }
       catch (Exception ex)
       {
           log4netHelper.Error("---報錯方法--Init");
           log4netHelper.Error(ex.Message);
           log4netHelper.Error(ex.StackTrace);
           log4netHelper.Error(ex.ToString());
           log4netHelper.Error("---end---");
       }
   }

到此這篇關于C#使用Twain協(xié)議開發(fā)一個高掃儀對接功能的文章就介紹到這了,更多相關C# Twain開發(fā)高掃儀對接內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • C#使用XSLT實現(xiàn)xsl、xml與html相互轉換

    C#使用XSLT實現(xiàn)xsl、xml與html相互轉換

    這篇文章介紹了C#使用XSLT實現(xiàn)xsl、xml與html相互轉換的方法,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-06-06
  • c#多線程之線程基礎

    c#多線程之線程基礎

    本文詳細講解了c#多線程之線程基礎,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-04-04
  • Unity ScrollView實現(xiàn)自動吸附效果

    Unity ScrollView實現(xiàn)自動吸附效果

    這篇文章主要為大家詳細介紹了Unity ScrollView實現(xiàn)自動吸附效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-07-07
  • C#實現(xiàn)查殺本地與遠程進程的方法

    C#實現(xiàn)查殺本地與遠程進程的方法

    這篇文章主要介紹了C#實現(xiàn)查殺本地與遠程進程的方法,可實現(xiàn)針對特定進程的關閉操作,是C#進程操作的一個典型應用,需要的朋友可以參考下
    2014-12-12
  • C#二維碼圖片識別代碼

    C#二維碼圖片識別代碼

    這篇文章主要為大家詳細介紹了C#二維碼圖片識別代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-05-05
  • C#連接mysql的方法【基于vs2010】

    C#連接mysql的方法【基于vs2010】

    這篇文章主要介紹了C#連接mysql的方法,基于vs2010平臺較為詳細的講述了C#操作mysql所需的組件下載、安裝及連接mysql操作實現(xiàn)代碼,需要的朋友可以參考下
    2017-03-03
  • WPF實現(xiàn)列表分頁控件的示例代碼

    WPF實現(xiàn)列表分頁控件的示例代碼

    這篇文章主要為大家詳細介紹了如何利用WPF實現(xiàn)列表分頁控件,文中的示例代碼講解詳細,對我們學習或工作有一定幫助,感興趣的小伙伴可以了解一下
    2022-10-10
  • C#并發(fā)實戰(zhàn)記錄之Parallel.ForEach使用

    C#并發(fā)實戰(zhàn)記錄之Parallel.ForEach使用

    這篇文章主要給大家介紹了關于C#并發(fā)實戰(zhàn)記錄之Parallel.ForEach使用的相關資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用C#具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2019-08-08
  • C#使用正則表達式實現(xiàn)漢字轉拼音

    C#使用正則表達式實現(xiàn)漢字轉拼音

    這篇文章主要為大家詳細介紹了C#如何使用正則表達式實現(xiàn)漢字轉拼音的功能,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學習一下
    2024-01-01
  • C#使用對象序列化類庫MessasgePack

    C#使用對象序列化類庫MessasgePack

    這篇文章介紹了C#使用對象序列化類庫MessasgePack的方法,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-06-06

最新評論