I load a 24bit jpg from file system and then display in Nokia 3650. I found the color is less than 4K colors. This is not happen in the the embedded photoviewer.
I display the bitmap by the following three ways, the color displayed is not good all the ways.
1) Open the jpeg, Create a bitmap of EColor4K and Convert the jpeg to bitmap. Then display to screen by gc.BitBlt().
2) Open the jpeg, Create a bitmap of EColor16M and Convert the jpeg to bitmap. Then display to screen by gc.DrawBitmap().
3) Open the jpeg, Create a bitmap of EColor16M and Convert the jpeg to bitmap. Then open and create another bitmap (same size as previous) with EColor4K. The use CMdaImageBitmapToBitmapUtility to convert the higher color bitmap to lower color bitmap. Then display to screen.
Anyone know how to solve such a common problem? I think displaying a bitmap using the full color of display shouyld be a very common and simple task for developer.
In the method in (1), I can see color contour and the image intensity is lower than that in the photoviewer. And this methos (1) is completely from the same Bmpmanip, however, the color is not well dithered.
I think the photoviewer did some special processing which do not provided by API.
Anyone has more experiences in this to share with us?