Scanner csharp
Contents
Програмен достъп до скенер
TWAIN
TWAIN е програмен интерфейс (API) и комуникционен протокол за управление на комуникацията между софтуeрни приложения и устройства за въвеждане на графична информация ( изображения от скенери, цифрови фотопарати и др.)
TWAIN се разработва от TWAIN Working Group с цел:
- Осигуряване на съвместимост между графичен софтуер и хардуер
- Многоплатформена поддръжка (примерно Windows, Mac OS, and Linux)
- Безплатна поддръжка и разпространение на инструменти за разработчици
- Насърчаване на употребата на TWAIN
- и др.
Windows Image Acquisition (WIA)
WIA се разрботва от Microsoft с цел създаване на драйвери и програмен интерфейс за устройства за въвеждане на графична информацияdriver model and application programming interface (API). Разработва се за Windows ME, наличен е като допълнителна библиотека за Windows XP, a в следващите версии е стандартно вграден.
Scanner Access Now Easy (SANE)
SANE е програмен интерфейс, който осигурява стандартизиран достъп до всякакви растерни устраойства - плоски и ръчни скенери, камери и др. SANE API се разработва свободни с отворен лиценз и най-често се използва в Linux.
http://en.wikipedia.org/wiki/Scanner_Access_Now_Easy
Saraff.Twain.Net
Сваляне на библиотеките -> https://sarafftwain.codeplex.com/
Добавяне на twain контролер към toolbox-a:
Десен бутон върху ToolBox менюто -> choose Items -> Browse -> Saraff.Twain.dll
Добавяне на контролера към приложенито
Добавяне на бутон за избор на сканиращо устройство:
private void scanner_Click(object sender, EventArgs e) { this.twain321.CloseDataSource(); this.twain321.SelectSource(); }
Добавяне на бутон за сканиране:
private void scanButton_Click(object sender, EventArgs e) { this.twain321.Acquire(); }
Да се добави Panel
properties->autoscroll->true
Да се добави PictureBox в панела
properties->size->autosize
Добавяне на събитие при завършване на сканирането
private void twain321_AcquireCompleted(object sender, EventArgs e) { if (twain321.ImageCount > 0) { pictureBox1.Image = twain321.GetImage(0); } }