Putting data into an Image field (Fast !)

I have data from an imaging device, that I would like to show in an
image field (or something else ??)
The data is 1024x224 pixels 12 bit straight binary gray-scale. (i.e. NOT
BMP or any other standard format!)

I can do it by using Pixels, but it takes the better part of a century.
(8 secs. on a 266 MHz PII)
Does anybody know how to do it faster ?

Before data is shown, it will be formatted for best 'viewabillity' i.e.
adjusting dislay gain (contrast) and offset (luminance).
The data to be finally displayed can thus be of some other format.
However, MUST I convert to BMP ?

In that case, where to find an 'easy to use' description of the BMP
format ?

Could DirectX be of any help here ?
(I know it exists, but that is just about all. So far I don't know how
to use it, not to mention from Delphi 4)

Thanks in advance for the help.

J.Hviid

For e-mail :  jhh.ddre@dk
(X-change '@' and '.' :-)