Well, you are telling me things i always knew...
I'm not the OP - it was Jacco having this problem and Chris posting a
link to a discussion about that:
http://groups.google.com/groups?hl=en&lr=&ie=UTF-8&oe=UTF-8&threadm=%23X%240uJMBDHA.1552%40TK2MSFTNGP12.phx.gbl&rnum=1&prev=/groups%3Fhl%3Den%26lr%3D%26ie%3DUTF-8%26oe%3DUTF-8%26q%3Dwhite%2Bnot%2Bwhite%26meta%3Dgroup%253Dmicrosoft.public.dotnet.framework.compactframework
as you can read there:
- opening such picture with an viewer on the PPC is OK
- opening it in CF is "wrong"
- possible solution is to let the Device do the calculation (die Display or
the Graphic-Chip) not some code... this may be done by telling the CF
that this graphic is 24 bit
- Even with 256 color bitmaps the problem exists
After i've read this i knew what my graphic-problems in the C# applications
are.
And BTW: there are still devices out there, which have just 4096 or 256 Colors! So
creating a 16 bit bitmap wouldn't be the best way... so either you have
to create 256 color bitmaps with palette (hopefulle those devices doesn't have
a fixed palette) or using alway 24 bit true color and let the device
handle it :) ... but correctly ;) (i know that it isn't easy)
I have work-around it now by playing around with the Gama, hue, saturation,
contrast etc. on the desktop until it looks better on the PPC (in my C#
application)
Boris
[quoted text, click to view] On Thu, 19 Feb 2004 09:40:27 -0800, Geoff Schwab [MSFT] wrote:
> Hi Boris,
>
> This is simply not possible due to the limitations of the hardware.
> Remember that you are taking a bitmap that you have viewed on a display
> capable of displaying 24, and most likely 32 bit images and putting it on a
> device that is only capable of displaying 16 bit graphics. Just be thankful
> you are not working on a video game system that has to display it on an NTSC
> screen!
>
> When the pixels are converted, they are "rounded down" so if you want to
> preview the graphics on the desktop then take each pixel color and round it
> off like it will be on the device. Most devices are 555 RGB formatted so if
> you take each pixel, break into R,G, and B components, then right shift by 3