Пример #1
0
        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);
        }
Пример #2
0
        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;
                }
            }
        }