FFAsciiWrite
write ASCII characters on the image in memory

Prototype

Put the following prototype in the prototypes section of the application program header file:

void  ( __stdcall *pfnFFAsciiWrite)( void*, int, int, void*, int, int, int );

Purpose

Write ASCII characters to an image loaded in memory at 1 byte per pixel.

Description and use

If you want to write some strings over an image that stands into a memory area this is the function to use.

You might want to do this after scanning a sheet, to permanently mark some keys, like the date of scanning, the protocol number, etc..

Or you might want to permanently comment some images, in colours or not: load the image from the file into a memory area, write the strings you need, then put again the image into a new file (or into the same file).

You can load an image, write to it, and immediately see the results using FFView. It doesn't matter whether the image was loaded from a TIFF file, a BMP file, or was captured from the scanner. Once the image stands into a memory buffer at 1 byte per pixel you can write whatever you want.

Specification

There is only one default character set. Only capital letters, digits from 0 to 9, and some special characters have been implemented in the character set. I will complete the character set as soon as possible.

Parameters

Please note that the last two parameters define a reference point. These are the parameters:
  • pointer to the memory area that contains the image
  • image width in pixels
  • image height in lines
  • pointer to the ASCIIZ string to write
  • style (only style 0 is currently working):
    • 0: print the string centered (with respect to the reference point)
    • 1: print a cross at the reference point position and discard the ASCIIZ string
    • 2: print a cross at the reference point position and print the ASCIIZ string
    • 3: print a round mark at the reference point position and discard the ASCIIZ string
    • 4: print a round mark at the reference point position and print the ASCIIZ string
  • horizontal offset from the top left corner in pixels
  • vertical offset from the top left corner in lines
Please also note that the position of the ASCIIZ string (in styles 2 and 4) is automatically determined, according to the position of the reference point in the image, to avoid the string fall outside the borders of the image.

Return value

None.

Application examples

See also
  • FFTiffServices: single image TIFF file management
  • FFBmpServices: single image BMP file management
  • FFDec: CCITT group 4 bidimensional decompression
  • FFComp: CCITT group 4 bidimensional compression
  • FFView: 256 colours *full screen* bitmap display with pan, zoom, rotation, etc.

Notes