【发布时间】:2011-01-13 22:13:48
【问题描述】:
当使用具有精细渐变阴影的透明 PNG 图像时,Android 屏幕上的阴影周围总是有一条边缘线。它没有在 emualator 或 Exclipse 中显示。见照片。
我想知道是否有办法改进这一点。这与 Android 屏幕无法显示所有 24 位颜色或缩放和重新采样图像有关吗?
在此示例中,图像被加载到 ImageButton 视图中。我试过它作为源或背景,它是相同的质量。
【问题讨论】:
当使用具有精细渐变阴影的透明 PNG 图像时,Android 屏幕上的阴影周围总是有一条边缘线。它没有在 emualator 或 Exclipse 中显示。见照片。
我想知道是否有办法改进这一点。这与 Android 屏幕无法显示所有 24 位颜色或缩放和重新采样图像有关吗?
在此示例中,图像被加载到 ImageButton 视图中。我试过它作为源或背景,它是相同的质量。
【问题讨论】:
您看到的伪影被称为“条带”,这是您的显示器为每像素 16 位的结果。
解决此问题的最佳方法是在 Photoshop 或 Paint.NET 中为您的图像资源添加一些“噪点”。
或者,您可以将窗口设置为 32bpp,并将以下行添加到活动的 onCreate(),介于 super.onCreate() 和 setContentView() 之间。 :
getWindow().setFormat(PixelFormat.RGBA_8888);
【讨论】:
setFormat 方法有什么特别的缺点吗?