由于部分Windows Phone 7 的硬件支持的色深只能到16位(部分设备支持32位),所以当一个渐变图片显示在设备上时容易出现条纹状效果,解决办法是在图片输出前做Dithering操作。另一方面是在PC上开发时就做好预防工作,先把模拟器的颜色从默认的32位改为16位,操作方式如下:
- 打开位于C:\rogram Files (x86)Microsoft XDE.0下面的WM7_Skin.xml文件
- 将displayDepth=”32″改为displayDepth=”16″
这样在模拟器上运行时就已经能观察到一些细微的变化以防止上机后出现问题:
真正解决渐变的问题,需要在Photoshop中对图片进行Dithering操作。具体的操作步骤见这里,但是不必要这么麻烦,我们可以下载这个已经做好的Photoshop Action动作文件,在输出前对渐变图片进行一次预处理,再置入到项目中输出,实际模拟器中的效果如下,手机上也经过测试没有问题: