End Google Ads 201810 - BS.net 01 --> I have a 2d function that can be represented in a grayscale Format32bppArgb bitmap. I simply divide each value of the function by the maximum value in the function then multiply by 255. I use a lockbits routine to set the pixels.

I have a reversible transformation (similar to an FFT) that I apply to the function and I can represent it the same way.

I wanted to store the transform in the bitmap. The trouble is, if I use an 8 bit color depth, it only has 256 discrete levels. This is too coarse for my application (I cannot inverse transform the data stored in the bitmap and obtain the original function). A 16 bit color depth would give me 65536 discrete levels and this would do nicely.

The trouble is, I have not found a way to render a 16 bit color depth bitmap. I seems that the required Format16bppGrayScale and format and the Format64bppArgb are not functional VS. (I use VS 2005). Most of what I have seen for a work around involves scaling the bitmap data to an 8 bit color depth format.

I would like to be able to both store and “see” the transformed function in 16 bit detail. (Having the visualization be based on a bitmap structure isn’t a necessary requirement for me.) I have looked at some alternate approaches (such as directx) for managing this task but I haven’t been able to noodle out exactly how to do it. The Google stuff I’ve found is pretty sketchy on the implementation steps for my limited skills.

Can anyone give me a boost?