My windows phone 7 app has very nice background images but they are being destroyed by color banding on a 16bit color device. Is there a way I can correct this? I have tried saving in several different modes in photoshop to no avail.
How to Fix Banding. Change the Image Mode to 16 bits per channel: Image\Mode\16 bits\Channel. Convert the color space for the image to AdobeRGB. Add Blur, Noise or Texture.
Avoid banding by making a well-exposed photograph and saving it as an uncompressed RAW file. To fix color banding, make subtle edits and limit how much you compress the photo when exporting as a JPEG. If banding is harsh and distracting, try disguising it by adding a blur and some noise to the area.
What Causes Color Banding. Banding can be created when there isn't enough tonal range to represent all the different colors between the brightest and the darkest points of a gradient. The tonal range is given by the number of bits. An 8-bit photograph will have 256 tonal values per color and a 16-bit one has 65,536.
You need to use dithering. Floyd-Steinberg is a good algorithm that is simple and runs fast.
You don't need to go to 8 bits per pixel as suggested by another answer, you can go directly to 16 bits per pixel. You need to know how it is split into R/G/B before you begin.
Here are some examples, first up is the original 24-bit:
Next is a 16-bit without dithering:
Finally 16-bit with Floyd-Steinberg dithering.
P.S. I did this with Paint Shop Pro, I don't know if Photoshop has anything similar. You can do it in code as well.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With