public static List<ScannedImage> Scan(ScanProfile settings, ScanDevice device, IWin32Window pForm, IFormFactory formFactory) { var tw = new Twain(); if (!tw.Init(pForm.Handle)) { throw new DeviceNotFoundException(); } if (!tw.SelectByName(device.ID)) { throw new DeviceNotFoundException(); } var form = formFactory.Create<FTwainGui>(); var mf = new TwainMessageFilter(settings, tw, form); form.ShowDialog(pForm); return mf.Bitmaps; }
public static ScanDevice SelectDeviceUi() { var tw = new Twain(); if (!tw.Init(Application.OpenForms[0].Handle)) { throw new NoDevicesFoundException(); } if (!tw.Select()) { return(null); } var name = tw.GetCurrentName(); return(name == null ? null : new ScanDevice(name, name)); }
public static List <ScannedImage> Scan(ScanProfile settings, ScanDevice device, IWin32Window pForm, IFormFactory formFactory) { var tw = new Twain(); if (!tw.Init(pForm.Handle)) { throw new DeviceNotFoundException(); } if (!tw.SelectByName(device.ID)) { throw new DeviceNotFoundException(); } var form = formFactory.Create <FTwainGui>(); var mf = new TwainMessageFilter(settings, tw, form); form.ShowDialog(pForm); return(mf.Bitmaps); }
public static ScanDevice SelectDeviceUI() { var tw = new Twain(); if (!tw.Init(Application.OpenForms[0].Handle)) { throw new NoDevicesFoundException(); } if (!tw.Select()) { return null; } string name = tw.GetCurrentName(); if (name == null) { return null; } return new ScanDevice(name, name); }
public static List<ScanDevice> GetDeviceList() { var tw = new Twain(); if (!tw.Init(Application.OpenForms[0].Handle)) { throw new NoDevicesFoundException(); } var result = new List<ScanDevice>(); if (!tw.GetFirst()) { return result; } do { string name = tw.GetCurrentName(); result.Add(new ScanDevice(name, name)); } while (tw.GetNext()); return result; }
public static List <ScanDevice> GetDeviceList() { var tw = new Twain(); if (!tw.Init(Application.OpenForms[0].Handle)) { throw new NoDevicesFoundException(); } var result = new List <ScanDevice>(); if (!tw.GetFirst()) { return(result); } do { string name = tw.GetCurrentName(); result.Add(new ScanDevice(name, name)); } while (tw.GetNext()); return(result); }
public static void Scan(ScanProfile settings, ScanDevice device, IWin32Window pForm, IFormFactory formFactory, ScannedImageSource.Concrete source) { var tw = new Twain(); if (!tw.Init(pForm.Handle)) { throw new DeviceNotFoundException(); } if (!tw.SelectByName(device.ID)) { throw new DeviceNotFoundException(); } var form = formFactory.Create <FTwainGui>(); var mf = new TwainMessageFilter(settings, tw, form); form.ShowDialog(pForm); foreach (var b in mf.Bitmaps) { source.Put(b); } }
public static void Scan(ScanProfile settings, ScanDevice device, IWin32Window pForm, IFormFactory formFactory, ScannedImageSource.Concrete source) { var tw = new Twain(); var windowHandle = (Invoker.Current as Form)?.Handle ?? pForm.Handle; if (!tw.Init(windowHandle)) { throw new DeviceNotFoundException(); } if (!tw.SelectByName(device.Id)) { throw new DeviceNotFoundException(); } var form = Invoker.Current.InvokeGet(formFactory.Create <FTwainGui>); var mf = new TwainMessageFilter(settings, tw, form); Invoker.Current.Invoke(() => form.ShowDialog(pForm)); foreach (var b in mf.Bitmaps) { source.Put(b); } }