我想在android上显示一个png图像。这是图像文件:
右端比左侧稍暗。
但是在Android应用程序上丢失的图像质量(使用ImageView):
请注意红框中的部分。颜色没有平滑变化。
但是,如果我使用我的Android手机的浏览器,它播放效果很好(所以这不是手机屏幕的原因):
这是我的Android代码,非常简单:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<ImageView android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/hhh"/>
</LinearLayout>
其中hhh
是我在此处发布的第一张图片,位于res/drawable
。
我在我的Android手机(android 2.3.6)和android模拟器(用android 2.2 / 2.3 / 4.0)上测试它,都显示不好。但它在我的android pad(android 4.0.3)上播放效果很好。
问题是什么,以及如何解决?
答案 0 :(得分:7)
res/drawable
中的图片已被压缩。 This is supposed to be lossless,但我过去听说过类似的问题。
将其移至res/raw
,然后试一试。
答案 1 :(得分:0)
尝试将以下内容添加到Activity
,看看是否有帮助。
@Override
public void onAttachedToWindow() {
super.onAttachedToWindow();
Window window = getWindow();
//eliminates color banding
window.setFormat(PixelFormat.RGBA_8888);
}
答案 2 :(得分:-1)
这个问题众所周知这是一个渐变条带问题,我有这个问题并通过添加噪声来解决,例如http://planetphotoshop.com/say-goodbye-to-gradient-banding.html