TWAIN¹æ·¶µÄµÚËÄÕÂ

loading ·ÖÏí 2026-7-15 ÏÂÔØÎĵµ

TWAIN Specification Chapter 4 ¡°Advanced Application Implementation¡±Ò롪¡ªÓ¦ÓóÌÐò¶ËµÄ¸ß¼¶ÊµÏÖ

±¾ÎÄÊǶÔTWAIN¹æ·¶µÄµÚËÄÕ¡¶Ó¦ÓóÌÐò¶ËµÄ¸ß¼¶ÊµÏÖ¡·µÄ·­Òë¡£Òò¹¤×÷ÐèÒªÁ˽âTWAIN£¬ËùÒÔ˳±ãÒëÁËһϡ£ÕâÊÇ˽È˹¤×÷£¬Äú¿ÉÒԲο¼£¬µ«±¾È˲»±£Ö¤²»´æÔÚ·­ÒëµÄ²î´í»ò²»ºÏÒË¡£Èç¹ûÄú·¢ÏÖÓв»Í׵ĵط½£¬¾´Çë¸æÖ®ÎÒ(yedaoq@126.com)¡£

4.1 ÐÔÄÜ

Ó¦ÓóÌÐòÓëÔ´½øÐÐÐÔÄÜЭÉ̵ÄÄÜÁ¦Ê¹ÈËÃÇÄܹ»¿ØÖÆTWAIN¼æÈݵijÌÐò¡£ÔÚµÚËÄÕ¡°Ó¦ÓóÌÐò¶ËµÄ¸ß¼¶ÊµÏÖ¡±ÖУ¬Ä㽫¿´µ½¶ÔCAP_XFERCOUNTÐÔÄܵÄЭÉÌ¡£ÐÔÄÜÔÚ²¢ÇÒ×ÜÊÇÔÚ״̬4ÆÚ¼ä½øÐÐЭÉÌ£¬³ý·ÇÓ¦ÓóÌÐòºÍÔ´Ë«·½Í¬ÒâÑÓ³ÙЭÉÌ¡£ÊÂʵÉÏ£¬¹ØÓÚÐÔÄÜ»¹Óиü¶àÐèÒªÎÒÃÇÈ¥Á˽⡣

4.1.1 ÐÔÄÜÖµ

TWAINΪÿÖÖÐÔÄܶ¨ÒåÁËÒ»¸öĬÈÏÖµºÍÒ»×éÔÊÐíʹÓõÄÖµ£¨¼ûµÚ10Õ£©¡£Ó¦ÓóÌÐò²»ÔÊÐíÐÞ¸ÄĬÈÏÖµ£¬µ«ÔÊÐí½«ÏòÓû§ÌṩµÄÖµÏÞ¶¨ÎªÒ»¸öÔÊÐíʹÓÃÖµµÄ×Ó¼¯£¬ÒÔ¼°Ñ¡ÔñÐÔÄܵĵ±Ç°Öµ¡£ 4.1.1.1 ĬÈÏÖµ

Ò»¸öÔ´±»´ò¿ªÊ±£¬Ã¿ÖÖÐÔÄܵĵ±Ç°Öµ¶¼±»ÉèÖÃΪTWAIN¶¨ÒåµÄĬÈÏÖµ¡£ÈôTWAIN䶨Ò壬ÔòÔ´½«Ñ¡ÔñÒ»¸öÖµ×÷ΪĬÈÏÖµ¡£³ÌÐò¿ÉÒÔʹÓÃDG_CONTROL/ DAT_CAPABILITY / MSG_RESET²Ù×÷½«Ä³ÐÔÄÜÖØÖÃΪTWAIN¶¨ÒåµÄĬÈÏÖµ¡£

ËäÈ»TWAINΪÐí¶àÖÖÐÔÄܶ¨ÒåÁËĬÈÏÖµ£¬Ô´Ò²¿ÉÄÜÒòΪÄܹ»»ñµÃ¸ü¸ßµÄЧÂʶøÊ×ѡһ¸ö²»Í¬µÄÖµ¡£ÀýÈ磬Դͨ³£ÔÚºÚ°×ͼÏñÖÐÓÃλֵ0À´´ú±í°×É«£¬µ«ÊÇICAP_FIXELFLAVORµÄĬÈÏֵΪTWPF_CHOCOLATE£¬´ËÖµ±íʾ0´ú±íºÚÉ«¡£¼´Ê¹TAWINĬÈÏֵΪTWPF_CHOCOLATE£¬Ô´Ò²¿ÉÄܽ«TWPF_VANILLA×÷ΪÊ×ѡֵ¡£µ±Ó¦ÓóÌÐò·¢³öÒ»¸ö

DG_CONTROL/DAT_CAPABILITY/MSG_GETDEFAULT²Ù×÷ʱ£¬Ô´½«·µ»ØËüµÄÊ×ѡֵµÄÐÅÏ¢¡£»ùÓÚ´ËÐÅÏ¢Ô´ºÍÓ¦ÓóÌÐò½«Äܹ»Ð­É̳öÒ»¸ö¸üÓÐЧµÄ´«ËÍ·½Ê½¡£

×¢ÒâÕâ²¢²»ÊÇÔÚ°µÊ¾TWAIN¶¨ÒåµÄĬÈÏÖµÓ¦±»ÍêÈ«ºöÂÔ¡£ÔÚ´¦ÀíÌØÊâÊý¾ÝÔ´ÐÔÄܵÄÊ×ѡֵºÍTWAINĬÈÏÖµÖ®¼äµÄ³åͻʱ£¬Ó¦¿¼Âǵ½´ËÎÊÌâÓëÔڻỰ¼ä±£´æºÍ»Ö¸´Í¼ÏñÊôÐÔÀàËÆ¡£¼Ù¶¨Ò»¸öÊý¾ÝÔ´Ïë±£´æÄ³Ð©ÐÔÄܵĵ±Ç°ÖµÒÔÔÚ½«À´µÄij¸ö»á»°Öлָ´ÊǺÏÀíµÄ£¬ÆÚÍû»Ö¸´ÖµÄܹ»·´Ó³ÐÔÄÜ

µÄµ±Ç°ÉèÖÃÒ²ÊǺÏÀíµÄ¡£Èô±£´æÉèÖöÔͼÏñÊôÐÔȷʵÓÐÓã¬ÄÇôӦÉùÃ÷Êý¾ÝÔ´µÄÊ×ѡֵҲ²ÉÓÃͬÑù·½Ê½½øÐд¦Àí¡£

¼ÓÔØÊý¾ÝԴʱ£¬Ïà¹ØÐÔÄܵĵ±Ç°ÖµÓ¦±»ÉèÖÃΪ´ÓÉÏÒ»¸ö»á»°»Ö¸´µÄÖµ»òÊý¾ÝÔ´Ê×Ñ¡µÄÖµ¡£´ËÖµ½«±£³ÖÖ±ÖÁ±»Ó¦ÓóÌÐòÏÔʽ¸ü¸Ä»òÓ¦ÓóÌÐò·¢³öMSG_RESET²Ù×÷¡£

²¢·ÇËùÓÐÐÔÄܶ¼ÊÊÓÃÊ×ѡֵ£¬ÁíÍâÐí¶àÐÔÄܲ»ÊʺÏÔÚ¶à¸ö»á»°¼ä±£´æºÍ»Ö¸´¡£ ÒÔÏÂÊÇ×îºÃµÄÀý×Ó£º

Àý1£ºÉ¨Ãè²ÎÊýÔÚÒ»¸ö»á»°Öб£´æ²¢ÔÚÁíÒ»¸ö»á»°Öлָ´

1. Óû§Ê¹ÓÃÒÔϲÎÊýÅäÖÃÊý¾ÝÔ´Óû§½Ó¿Ú£º24λ4*6Ó¢´çͼÏñ£¬Ë®Æ½ÊúÖ±·½ÏòµÄDPI¾ùΪ200¡£

2. Óû§Ñ¡Ôñ¡°É¨Ã衱ȻºóÊý¾ÝԴ֪ͨ³ÌÐò½øÐд«ËÍ¡£ 3. Ó¦ÓóÌÐò³É¹¦»ñµÃͼÏñ¡£ 4. Ó¦ÓóÌÐò½ûÓÃÊý¾ÝÔ´¡£

5. Ó¦ÓóÌÐò״̬4ÏÂѯÎÊÖ¡£¬ÏñËØÀàÐÍ£¬Î»Éî¶ÈºÍ·Ö±æÂʵĵ±Ç°Öµ¡£

6. Êý¾ÝÔ´±¨¸æÓû§ÉèÖõĵ±Ç°Öµ£º24λ4*6Ó¢´çͼÏñ£¬Ë®Æ½ÊúÖ±·½ÏòµÄDPI¾ùΪ200¡£ 7. Ó¦ÓóÌÐò¹Ø±ÕÊý¾ÝÔ´¡£

8. ÔÚ¹Ø±ÕÆÚ¼ä£¬Êý¾ÝÔ´±£´æµ±Ç°Ö¡£¬ÏñËØÀàÐÍ£¬Î»Éî¶ÈºÍ·Ö±æÂÊ¡£ 9. Ó¦ÓóÌÐò´ò¿ªÊý¾ÝÔ´¡£

10. ÔÚ´ò¿ªÆÚ¼ä£¬Êý¾ÝÔ´»Ö¸´Ö¡£¬ÏñËØÀàÐÍ£¬Î»Éî¶ÈºÍ·Ö±æÂÊ¡£

11. Ó¦ÓóÌÐòÔÚ״̬4ÏÂѯÎÊÖ¡£¬ÏñËØÀàÐÍ£¬Î»Éî¶ÈºÍ·Ö±æÂʺ͵±Ç°Öµ¡£

12. Êý¾ÝÔ´±¨¸æ´ÓÉÏÒ»¸ö»á»°Öлָ´µÄÊý¾Ý£º24λ4*6Ó¢´çͼÏñ£¬Ë®Æ½ÊúÖ±·½ÏòµÄDPI¾ùΪ200¡£

Àý2£ºÊý¾ÝԴʹÓÃÊ×Ñ¡Pixel Flavor´úÌæTWAIN¶¨ÒåµÄĬÈÏÖµ 1. Ó¦ÓóÌÐòÊ״δò¿ªÊý¾ÝÔ´¡£

2. Ó¦ÓóÌÐòÔÚ״̬4ÏÂѯÎÊĬÈÏPixel Flavor¡£

3. Êý¾ÝÔ´±¨¸æPixel FlavorĬÈÏΪTWPF_CHOCOLATE¡£ 4. Ó¦ÓóÌÐòÔÚ״̬4ÏÂѯÎʵ±Ç°Pixel Flavor¡£

5. Êý¾ÝÔ´±¨¸æPixel Flavorµ±Ç°ÎªTWPF_VANILLA£¨ÒòΪÉ豸±¾Éí²ÉÓÃÕâÖÖ·½Ê½·µ»ØÊý¾Ý£©¡£ 6. Ó¦ÓóÌÐòÒªÇóÖØÖÃPixel Flavor¡£

7. ÔÚÖØÖÃÆÚ¼ä£¬Êý¾ÝÔ´½«µ±Ç°Öµ±ä¸üΪTWPF_CHOCOLATE²¢×¼±¸ÔÚ´«Êä¹ý³ÌÖÐת»»Êý¾ÝÒÔÊÊÓ¦Ó¦ÓóÌÐòÒªÇó¡£

´ËÂß¼­ÔÚÒ»ÖÖÇé¿öÏ»áʧЧ¡£Èç¹ûÊý¾ÝÒª¶ÔÒ»¸öÊÜÏÞÖÆµÄÐÔÄܵÄMSG_GET·µ»Ø

TW_ENUMERATION£¬ TAWIN¶¨ÒåµÄĬÈÏÖµÓпÉÄܲ»ÔÚÖµµÄÔ¼Êø¼¯ºÏÄÚ¡£ÔÚÕâÖÖÇé¿öÏ£¬Ó¦ÓóÌÐò½«ÈÏΪĬÈÏֵ䶨Òå¡£Ò»¸ö³£Ê¶ÊÇ£¬³öÓÚ°²È«ÐԵĿ¼ÂÇ£¬Êý¾ÝÔ´Ó¦ÔÚµ±Ç°¿ÉÓÃÖµ¼¯ºÏÖÐÌṩһЩºÏÀíµÄĬÈÏÖµ£¨TW_ENUMERATIONÖд洢һ¸ö»µË÷ÒýÊÇÔÖÄÑÐԵģ©¡£µ±Ä¬ÈÏÖµÊÂʵÉÏÕý±»Ê¹ÓÃʱ£¨Í¨¹ýMSG_RESET£©£¬´ËÏÞÖÆ½«ÎÞЧ²¢ÇÒµ±Ç°Ä¬ÈÏÖµ¿ÉÔٴδæÔÚ²¢±»¶¨Òå¡£ÕâÊÇÒ»¸ö½öÏÞÓÚTW_ENUMERATIONÈÝÆ÷µÄÎÊÌ⣬ÒòΪËü°üº¬Ä¬ÈÏÖµµÄË÷Òý¡£ 4.1.1.2 µ±Ç°Öµ

Ó¦ÓóÌÐò¿ÉÄÜÒªÇóÉèÖÃÐÔÄܵĵ±Ç°Öµ¡£Èç¹ûÔ´µÄÓû§½çÃæÕýÔÚÏÔʾ£¬µ±Ç°ÖµÒ²ÐíÄÜ´ÓÖп´³ö£¨ÀýÈç¸ßÁÁ£©¡£Èç¹ûÓ¦ÓóÌÐòÉèÖÃÁ˵±Ç°Öµ£¬ËüÓÃÓڲɼ¯ºÍ´«ÊäÖ±ÖÁ±»Óû§»òÒ»¸ö×Ô¶¯Ô´½ø³Ì¸ü¸Ä¡£Ó¦ÓóÌÐò¿ÉÔÚ״̬6ÏÂͨ¹ý¼ì²éµ±Ç°ÖµÅжÏÊÇ·ñÓиü¸Ä·¢Éú¡£

Èô½öÐèҪȷ¶¨ÐÔÄܵĵ±Ç°Öµ£¬ÇëʹÓÃMSG_CONTROL / DAT_CAPABILITY / MSG_GETCURRENT£»ÈôҪȷ¶¨µ±Ç°ÖµÒÔ¼°¿ÉÓÃÖµ£¬ÇëÓÃDG_CONTROL /

DAT_CAPABILITY / MSG_GET¡£ÀýÈçÄú¿ÉÒÔ¶ÔICAP_PIXELTYPEʹÓÃMSG_GET£¬Ô´½«·µ»ØÒ»¸ö°üº¬¿ÉÓÃÖµTWPT_BW¡¢TWPT_GRAYºÍTWPT_RGBµÄTW_ENUMERATIONÈÝÆ÷¡£ ÈôÒªÉèÖõ±Ç°Öµ£¬ÇëʹÓÃDG_CONTROL / DAT_CAPABILITY / MSG_SETÒÔ¼°ÏÂÁÐÈÝÆ÷Ö®Ò»£º

? TWON_ONEVALUE£º½«TW_ONEVALUE.ItemÖÃΪҪÇóµÄÖµ¡£ ? TWON_ARRAY£º½«TW_ARRAY.ItemListÖÃΪҪÇóµÄÖµ¡£ ÆäÖÐÖµ±ØÐëΪMSG_GET²Ù×÷·µ»ØÖµµÄÒ»¸ö×Ó¼¯¡£

ͬÑù»¹¿ÉÒÔͨ¹ýTW_ENUMERATIONºÍTW_RANGEÈÝÆ÷À´ÉèÖõ±Ç°Öµ¡£ 4.1.1.3 ¿ÉÓÃÖµ

ΪÁËÏÞÖÆÔÚ»ñÈ¡ºÍ´«Ë͹ý³ÌÖÐÏÞÖÆÔ´¿ÉÓõÄÉèÖã¬Ó¦ÓóÌÐò¿ÉÏÞ¶¨¿ÉÓÃÖµ£¬Ô´²»»áʹÓÃÕâЩֵÒÔÍâµÄÖµ¡£ÕâЩÏÞÖÆ½«ÌåÏÖÔÚÔ´µÄÓû§½çÃæÉÏ£¬Òò´Ë²»¿ÉÓõÄÖµ½«²»»áÌṩ¸øÓû§¡£

ÀýÈ磬Èç¹ûICAP_PIXELTYPEÉϵIJÙ×÷MSG_GET±íÃ÷Ô´Ö§³ÖTWPT_BW£¬TWPT_GRAYºÍTWPT_RGBͼÏñ£¬µ«Ó¦ÓóÌÐòÖ»ÏëÒªºÚ°×ͼÏñ£¬ÄÇôËü¿ÉÒÔÒªÇóÏÞÖÆ¿ÉÓÃֵΪTWPT_BW¡£

ÈôÒªÉèÖÿÉÓÃÖµ£¬ÇëʹÓÃDG_CONTROL / DAT_CAPABILITY / MSG_SETÒÔ¼°ÏÂÁÐÈÝÆ÷Ö®Ò»£º

? TWON_ENUMERATION£º½«TW_ENUMERATION.ItemListÓòÖÃΪҪÇóµÄÖµ¡£Í¨¹ý½«CurrentIndexÖ¸¶¨ÎªItemListÖÐij¸öÖµµÄË÷Òý£¬Ò²¿ÉÔÚ´ËʱÉèÖõ±Ç°Öµ¡£ ? TWON_RANGE£º½«TW_RANGEÓòÉèÖÃΪҪÇóµÄÖµ¡£´ËʱͬÑù¿ÉÉèÖõ±Ç°Öµ¡£ ×¢£ºTW_ONEVALUEºÍTW_ARRAYÈÝÆ÷²»¿ÉÓÃÓÚÏÞÖÆ¿ÉÓÃÖµ¡£

4.1.2 ÐÔÄÜЭÉÌ

ЭÉ̹ý³Ì°üÀ¨ÒÔϼ¸¸ö»ù±¾µÄ²¿·Ö£º ? Ó¦ÓóÌÐòÈ·¶¨Ô´Ö§³ÖÄÄЩÐÔÄÜ¡£ ? Ó¦ÓóÌÐò°´ÒªÇóÉèÖÃÖ§³ÖµÄÐÔÄÜ¡£ ? Ó¦ÓóÌÐòУÑéÉèÖÃÊÇ·ñÒѱ»Ô´½ÓÊÜ¡£ 4.1.2.1 È·¶¨Ô´Ö§³ÖÄÄЩÐÔÄÜ

²½ÖèÒ»

Ó¦ÓóÌÐò·ÖÅäÒ»¸öTW_CAPABILITY½á¹¹²¢ÈçÏÂÌî³ä£º

Cap = ¸ÐÐËȤµÄÐÔÄܵÄÃû³Æ£¬Ò»°ãΪCAP_name»òICAP_name ConType = TWON_DONTCARE16 hContainer = ÉèÖÃΪNULL ²½Öè¶þ

Ö´ÐÐDG_CONTROL / DAT_CAPABILITY / MSG_GET²¢´«µÝTW_CAPABILITY¡£ ²½ÖèÈý

Ô´¼ì²éCapÓò²¢ÅжÏÊÇ·ñÖ§³Ö´ËÐÔÄÜ¡£ÈôÖ§³Ö£¬ÔòΪӦÓóÌÐòÉú³ÉÐÅÏ¢£¬·ñÔòÉèÖÃÒ»¸öºÏÊʵķµ»ØÖµ¡£ ²½ÖèËÄ

Ó¦ÓóÌÐò¼ì²é²Ù×÷µÄ·µ»ØÖµ£¨Ò²ÐíÊÇ״̬Â룩£º ÈôΪTWRC_SUCCESS£¬ÔòÔ´Ö§³Ö¸ÃÐÔÄܲ¢ÇÒ£º


TWAIN¹æ·¶µÄµÚËÄÕÂ.doc ½«±¾ÎĵÄWordÎĵµÏÂÔØµ½µçÄÔ
ËÑË÷¸ü¶à¹ØÓÚ£º TWAIN¹æ·¶µÄµÚËÄÕ µÄÎĵµ
Ïà¹ØÍÆ¼ö
Ïà¹ØÔĶÁ