private List <Scaner> GetScanersList() { List <Scaner> ls = new List <Scaner>(); Scaner s; try { Twain _twain = new Twain(_wh); if (_twain.SourceNames.Count != 0) { _twain.SelectSource(); s = new Scaner(_twain.DefaultSourceName, EnumScanerType.Twain, _wh); ls.Add(s); } } catch (TwainException) { } List <string> devices = WIAScanner.GetDevices(); foreach (string device in devices) { s = new Scaner(device, EnumScanerType.WIA, _wh); ls.Add(s); } s = new Scaner("Изображение из файла", EnumScanerType.File, _wh); ls.Add(s); return(ls); }
public void Scan() { { switch (_type) { case EnumScanerType.Twain: try { this.ScanTwainFixedSize(); } catch { try { this.ScanTwainA4(); } catch { MessageBox.Show("Проблема при использовании драйвера Twain. Проверьте подключение сканера, чотя есть вероятность, что сканер не поддерживается."); } } break; case EnumScanerType.WIA: try { List <Bitmap> lst = WIAScanner.Scan(_name); if (lst.Count != 0) { _image = lst[0]; OnScanDone(); } } catch { MessageBox.Show("Не найден сканер. Проверьте подключение или выберите другой в настройках"); } break; case EnumScanerType.File: OpenFileDialog oof_dialog = new OpenFileDialog(); oof_dialog.Filter = "Image Files(*.BMP;*.JPG;*.PNG)|*.BMP;*.JPG;*.PNG|All files (*.*)|*.* "; oof_dialog.Title = "Выберите изображение из файла"; if (oof_dialog.ShowDialog() == DialogResult.OK) { string fn = oof_dialog.FileName; _image = new Bitmap(fn); OnScanDone(); } break; } } }