ONLINE HELP
 WINDEVWEBDEV AND WINDEV MOBILE

Help / WLanguage / WLanguage functions / Standard functions / Windows functions / TWAIN functions
  • Document coming from the Twain device
  • Managing the type of image
  • Duplex scanner
  • Multi-page scanner with loader
  • Operating mode in the 64-bit applications
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReports and QueriesUser code (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Browser code
WINDEV Mobile
AndroidAndroid Widget iPhone/iPadIOS WidgetApple WatchMac CatalystUniversal Windows 10 App
Others
Stored procedures
Allows you to perform one of the following actions:
  • save the document coming from the Twain device in a Bitmap file (".BMP" extension)
  • view the document coming from the Twain device in the device UI. The user will have the ability to perform one of the actions proposed by this interface (for example: save the document, modify the default parameters of the device). The available actions depend on the device used.
  • save the document coming from the Twain device directly in memory in Bitmap format (in a buffer).
Example
// Save the document found in the scanner in the "MyPhoto.BMP" file
// The document will be saved in black and white
IF TwainToBMP("C:\Temp\MyPhoto.BMP", False, TwainBlackWhite) = True THEN
Info("The document was saved")
ELSE
Error("The document was not scanned")
END
// Save the document found in the scanner in memory
// The document will be saved in black and white
IMG_MyImage = TwainToBMP(inMemory, False, TwainBlackWhite)
Syntax

Save and display the document coming from the Twain device in a Bitmap file Hide the details

<Result> = TwainToBMP([<BMP file> [, <User interface> [, <Type of image> [, <Number of bits per pixel> [, <Image resolution> [, <Image contrast> [, <Image brightness> [, <Duplex mode> [, <Automatic load>]]]]]]]]])
<Result>: Boolean
  • True if the document was saved or viewed,
  • False if the document was not saved. The corresponding error message is returned by ErrorInfo.
<BMP file>: Optional character string
Name and full (or relative) path of file (up to 260 characters). The file extension is optional. A UNC path can be used.
If this parameter is not specified or if it corresponds to an empty string (""), the user will have to enter the full name of the Bitmap file in a file picker.
<User interface>: Optional boolean
  • True (default value) if the user interface of the Twain device must be displayed. When saving the document, the <BMP file> will be proposed by default.
  • False if the user interface of the Twain device must not be displayed.
<Type of image>: Optional Integer constant (or combination of constants)
Type of image used to save the document (classified by order of color management):
Order for managing the colors
0 (Default value)Default device image
1TwainPaletteColored image issued from a palette.
2TwainRGBRGB image.
3TwainGrayScaleGrayscale image.
4TwainBlackWhiteBlack and white image.
-TwainAnyTypeAny type of image.

If these constants are combined, the best type of image supported by the device will be selected (according to the order of color management). For more details, see the remarks.
The default type of image will be used:
  • if this parameter is not specified or if it corresponds to 0.
  • if the specified type of image is not supported by the device.
  • if <User interface> is set to True.
<Number of bits per pixel>: Optional integer
Amount of information about the colors (to display or print each pixel in an image). The larger the number of bits per pixel, the sharper the color rendering will be.
The possible values for this parameter depend on the type of image used:
Type of imagePossible values
Colored image issued from a palette (TwainPalette constant).1, 4 or 8
RGB image (TwainRGB constant).8, 10 or 16
Grayscale image (TwainGrayScale constant).8 or 16
Image in black and white (TwainBlackWhite constant).1

If this parameter is not specified, the default number of bits per pixel will be used.
<Image resolution>: Optional real
Number of pixels per inch (the possible values depend on the device used).
The default image resolution will be used:
  • if this parameter is not specified or if it corresponds to 0.
  • if the specified resolution is not supported by the device.
  • if <User interface> is set to True.
<Image contrast>: Optional real
Contrast of the image (value included between -1000 and 1000).
The default image contrast will be used:
  • if this parameter is not specified or if it corresponds to 0.
  • if the specified contrast is not supported by the device.
  • if <User interface> is set to True.
<Image brightness>: Optional real
Brightness of the image (value included between -1000 and 1000).
The default image brightness will be used:
  • if this parameter is not specified or if it corresponds to 0.
  • if the specified brightness is not supported by the device.
  • if <User interface> is set to True.
<Duplex mode>: Optional boolean
  • True to scan a document on both sides,
  • False (by default) to scan the document on a single side.
<Automatic load>: Optional boolean
  • True to automatically load the pages in the device,
  • False otherwise.

Saving the document from the Twain device in memory in BMP format Hide the details

<Result> = TwainToBMP(<InMemory> [, <User interface> [, <Type of image> [, <Number of bits per pixel> [, <Image resolution> [, <Image contrast> [, <Image brightness> [, <Duplex mode> [, <Automatic load>]]]]]]]])
<Result>: Buffer
Byte string containing the document in BMP format.
Then this byte string can be assigned to an Image control, saved in a file (fSaveText), sent via a network (with the Socket functions), etc.
<InMemory>: Constant
inMemorySaves the document from the Twain device in memory.
<User interface>: Optional boolean
  • True (default value) if the user interface of the Twain device must be displayed.
  • False if the user interface of the Twain device must not be displayed.
<Type of image>: Optional Integer constant (or combination of constants)
Type of image used to save the document (classified by order of color management):
Order for managing the colors
0 (Default value)Default device image
1TwainPaletteColored image issued from a palette.
2TwainRGBRGB image.
3TwainGrayScaleGrayscale image.
4TwainBlackWhiteBlack and white image.
-TwainAnyTypeAny type of image.

If these constants are combined, the best type of image supported by the device will be selected (according to the order of color management). For more details, see the remarks.
The default type of image will be used:
  • if this parameter is not specified or if it corresponds to 0.
  • if the specified type of image is not supported by the device.
  • if <User interface> is set to True.
<Number of bits per pixel>: Optional integer
Amount of information about the colors (to display or print each pixel in an image). The larger the number of bits per pixel, the sharper the color rendering will be.
The possible values for this parameter depend on the type of image used:
Type of imagePossible values
Colored image issued from a palette (TwainPalette constant).1, 4 or 8
RGB image (TwainRGB constant).8, 10 or 16
Grayscale image (TwainGrayScale constant).8 or 16
Image in black and white (TwainBlackWhite constant).1

If this parameter is not specified, the default number of bits per pixel will be used.
<Image resolution>: Optional real
Number of pixels per inch (the possible values depend on the device used).
The default image resolution will be used:
  • if this parameter is not specified or if it corresponds to 0.
  • if the specified resolution is not supported by the device.
  • if <User interface> is set to True.
<Image contrast>: Optional real
Contrast of the image (value included between -1000 and 1000).
The default image contrast will be used:
  • if this parameter is not specified or if it corresponds to 0.
  • if the specified contrast is not supported by the device.
  • if <User interface> is set to True.
<Image brightness>: Optional real
Brightness of the image (value included between -1000 and 1000).
The default image brightness will be used:
  • if this parameter is not specified or if it corresponds to 0.
  • if the specified brightness is not supported by the device.
  • if <User interface> is set to True.
<Duplex mode>: Optional boolean
  • True to scan a document on both sides,
  • False (by default) to scan the document on a single side.
<Automatic load>: Optional boolean
  • True to automatically load the pages in the device,
  • False otherwise.
Remarks

Document coming from the Twain device

The "document coming from the Twain device" corresponds to:
  • the document in the scanner when TwainToBMP is called. In this case, the parameters specified in TwainScanZone are taken into account.
  • the image transmitted by a "Web camera" when TwainToBMP is called.
  • the first photo saved in a digital camera.
    Remark: If the user interface is used, the retrieved document will correspond to the photo selected by the user. If several photos are selected, only the first selected photo will be retrieved.

Managing the type of image

If several constants are combined in <Type of image>, the best type of image supported by the device will be selected (according to the order of color management).
For example: If this parameter corresponds to TwainBlackWhite + TwainRGB, the type of the image will be:
  • RGB if this type is supported by the device.
  • black and white otherwise.

Duplex scanner

If the scanner supports the duplex mode, you have the ability to perform a double-sided scan. The generated document contains both sides of the scanned document.
Remark: Depending on the hardware used, the Twain driver may not be sufficient to support a double-sided scan. You may have to install additional drivers supplied by the manufacturer.

Multi-page scanner with loader

If the scanner includes a loader and if it supports the multi-pages, you have the ability to perform a scan of all the pages in a row.
For more details, see TwainState.

Operating mode in the 64-bit applications

In a 64-bit application, this function will automatically use the 64-bit Twain driver. The TWAIN cannot be used if this driver is not installed.
Business / UI classification: Business Logic
Component: wd290std.dll
Minimum version required
  • Version 9
This page is also available for…
Comments
Click [Add] to post a comment

Last update: 09/01/2022

Send a report | Local help