After the user has established a TWAIN session, selected a TWAIN source, and set the desired capabilities of the TWAIN source, he or she is ready to acquire images or image data from that source. LEADTOOLS provides the following functions for acquiring images and image data from a TWAIN source:
The LTwain::Acquire function acquires one or more images from a TWAIN source. If the user has overridden the LTwain::BitmapCallBack function, the function will receive each image acquired from the source. This allows the user to process each image as desired. If only one image is acquired, and the user does not supply a callback function, the pBitmap parameter of LTwain::Acquire is updated with the acquired image. Within the LTwain::BitmapCallBack function the user can call the LTwain::GetExtendedImageInfo to get extended image information that is included if the TWAIN source is a barcode reader or a digital camera. LTwain::FreeExtendedImageInfoStructure will free the TW_EXTIMAGEINFO structure that the LTwain::GetExtendedImageInfo function retrieves. For more information about TW_EXTIMAGEINFO, refer to the TWAIN 1.9 specification from the site "http://www.twain.org/".
The LTwain::AcquireList function acquires one or more images from the TWAIN source and stores them in the specified LEAD bitmap list.
The LTwain::AcquireMulti and LTwain::FastAcquire functions acquires one or more images from a TWAIN source and saves the image(s) to one or more files. If the file format used does not support multi-page files, then the images will be saved to a series of files named by appending the image number to a base file name. If the file format used does support multi-page files, then the image(s) will be saved to one or more files based on the bMultiPageFile parameter. If this parameter is FALSE, then images will be saved to a series of files named by appending the image number to a base file name. If this parameter is TRUE, the image(s) will be saved to one multi-page file named using only the base file name.
The LTwain::AcquireMulti and LTwain::FastAcquire functions takes an optional parameter a pointer to an LTwain::AcquireCallBack function. This callback function is called twice for each page scanned using the LTwain::AcquireMulti or LTwain::FastAcquire functions. It is called the first time when the Twain source begins scanning the page. It is called the second time when the Twain source has finished scanning the page.
The functions listed above can acquire images in the following transfer modes:
Native |
gets the bitmaps being scanned into the memory as a whole. |
Memory Buffered |
gets images from the source as strips of data. These strips can be merged to get the whole image. |
File |
gets the images from the source to a disk file. |
To stop an acquire process started by the LTwain::Acquire function, call LTwain::CancelAcquire inside the LTwain::BitmapCallBack.
To stop an acquire process started by the LTwain::AcquireMulti or LTwain::FastAcquire functions, call LTwain::CancelAcquire inside the LTwain::AcquireCallBack.
To stop acquire images only from the feeder of the TWAIN source using the LTwain::Acquire function, call the LTwain::StopFeeder within the LTwain::BitmapCallBack function when its fired.
To stop acquire images only from the feeder of the TWAIN source using the LTwain::AcquireMulti or LTwain::FastAcquire functions, call the LTwain::StopFeeder within the LTwain::AcquireCallBack function when its fired.