2012-03-16 79 views
2

我在我的程序中使用带渐变的PNG图像。在计算机上,设计模式下的图像看起来很好,但在模拟器和设备上,PNG图像上的渐变呈现不正确(它看起来像来自地理学校课程的等温线图片)。
发现这个帖子关于它:Is there a way to render PNG with gradients in Internet Explorer Mobile 7 correctly?
它工作正常,但是当我使用DoubleAnimation这个图像(我将控件的Opacity属性从0.0更改为1.0),渐变渲染错误再次出现。它看起来很丑,那么这是否可以用没有这些“等温线”的渐变播放PNG图像的DoubleAnimation?带渐变渲染的PNG

谢谢。

+0

http://yeblon.com/fix-windows-phone-7-wp7-gradients-in-emulator-or-phone – 2012-05-14 19:20:17

回答

4

尝试设置您的应用程序使用每像素32位。在您的清单文件中添加以下内容:

BitsPerPixel="32" 

查看this blog post的示例。

+0

您的建议可以正常工作,但是当带有渐变的图像在视频上方动画时,描述的渲染错误上面再次出现。但通过将您的建议和抖动图像结合到16位,我已达到或多或少可接受的结果。如果有的话,更漂亮的解决方案是目前,我会很高兴听到(或看到它):) – Lumen 2012-03-16 11:52:46

+0

还注意设备只需要有一个16位彩色显示器,所以只需设置此属性不适用于所有设备。 – 2012-08-19 06:06:00

2

你可以做@ ColinE的建议,并将BitsPerPixel设置为32位,但要注意的是,这将需要更多的手机内存和处理能力,所以更多的电池电量将被耗尽!

其他方法是在Photoshop或其他具有调色板抖动功能的应用程序中将图像抖动为16位。

+0

谢谢。你的答案也是有用的。 – Lumen 2012-03-16 11:54:18