you cant do that with 15/16/24 bit screen modes
the best thing you can do is write to another bitmap and then copy/swap it over
you would decode it once, and then when copying it each frame(using double buffering) you would copy it from very dark to very light
well not exactly copy, however...
you would modify the RGB values each time...
-edit-
p.s... ...please spell question: 'question' not, 'quastion'