Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Получение имага со сканера 
:(
    Опции темы
alexht
  Дата 1.8.2003, 13:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 1.8.2003

Репутация: нет
Всего: нет



Работа с драйвером сканера.
Конечно, можно было бы вначале отсканировать, а затем: Файл -> Открыть изображение, но кому хочется работать в двух прогах вместо одной.
PM MAIL   Вверх
Step
Дата 1.8.2003, 14:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5151
Регистрация: 26.9.2002
Где: дурдом.UA

Репутация: 5
Всего: 25



в примерах мсдн было что-то по работе с тваином, его юзай,
на пример наткнулся случайно.... так что сказать где именно его найти не могу


--------------------
- Дурак учится на своих ошибках, умный на чужих.
 - умные учатся у дураков
PM MAIL ICQ   Вверх
Vyacheslav
Дата 4.8.2003, 09:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2124
Регистрация: 25.3.2002
Где: Москва

Репутация: 9
Всего: 59



Скачиваешь для начала библиотеку EZTwain с открытым кодом с http://www.dosadi.com/pub/eztw1.zip и далее работаешь, вызывая функции из библиотеки. Вот для примера код из работающей программы:
Код

__fastcall TMainCertModule::TMainCertModule(TComponent* Owner)
   : TDataModule(Owner),
     m_ColorPrinterIndex(-1),
     m_BWPrinterIndex(-1)

{
  //инкапсулирована загрузка dll EZTwain
   m_EzTwDll = new TDll("EZTW32.dll");
   ReadPrinters();
}

void __fastcall TMainCertModule::ScanActionExecute(TObject *Sender)
{
 //в последующих четырех строчках кода инкапсулированы механизм получения
 //адресов функций из dll    
 static TDllStdProc2<HANDLE, HWND, int> AcquireNative(*m_EzTwDll,"TWAIN_AcquireNative");
   static TDllStdProc1<HPALETTE,HANDLE> CreateDibPalette(*m_EzTwDll,"TWAIN_CreateDibPalette");
   static TDllStdProcV8<HDC, int, int, int, int,HANDLE, int, int> DrawDibToDC(*m_EzTwDll,"TWAIN_DrawDibToDC");
   static TDllStdProcV1<HANDLE> FreeNative(*m_EzTwDll,"TWAIN_FreeNative");
   if (HANDLE Handle = AcquireNative(MainForm->Handle,0))
   {
       try
       {
           Graphics::TBitmap* Bitmap =  PreviewForm->Image->Picture->Bitmap;
           PBITMAPINFOHEADER Info = (PBITMAPINFOHEADER)GlobalLock(Handle);
           PreviewForm->MWidth  = 1000 * Info->biWidth/Info->biXPelsPerMeter;
           PreviewForm->MHeight = 1000 * Info->biHeight/Info->biYPelsPerMeter;;
           Bitmap->Palette =  CreateDibPalette(Handle);
           Bitmap->Width  = Info->biWidth;
           Bitmap->Height = Info->biHeight;
           DrawDibToDC(Bitmap->Canvas->Handle,0,0,Bitmap->Width,Bitmap->Height,Handle,0,0);
       }
       __finally
       {
           FreeNative(Handle);
       }
       PreviewForm->ShowModal();
   }
}


PS.В примере, правда, используются темплейты для работы с dl и экпортируеммыми функциями, но это не принципиальноl. Если интересно, технология дана у меня в статье на сайте.



--------------------
С уважением, Вячеслав Ермолаев
PM MAIL WWW ICQ   Вверх
Step
Дата 4.8.2003, 09:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5151
Регистрация: 26.9.2002
Где: дурдом.UA

Репутация: 5
Всего: 25



Vyacheslav, может добавишь в примеры...


--------------------
- Дурак учится на своих ошибках, умный на чужих.
 - умные учатся у дураков
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0478 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.