Android 4.0または4.0.3を実行しているエミュレータでは、私が取り除くことができない恐ろしい色のバンディングがあります。私がテストした他のすべてのAndroidバージョンでは、グラデーションが滑らかに見えます。Android 4.0以降のカラーバンディング
私はRGBX_8888として設定されたSurfaceViewを持っていて、レンダリングされたキャンバスにバンディングはありません。レンダリングの終わりにノイズパターンをオーバーレイすることによってイメージを手動でディザリングすると、グラデーションを滑らかにすることができます。
バンディングは後で導入されます。私は、4.0+では、SurfaceViewが描画されて表示されている間に、より低いビット深度に量子化されていると仮定することができます。そして、グラデーションが一度に8つの値をステップインしていることがわかります各チャネルは、555(565ではなく)の量子化を示唆しています。
私は次のものを自分のアクティビティonCreate関数に追加しましたが、違いはありませんでした。
私はまたonAttachedToWindow()を代わりに入れてみましたが、まだ変更はありませんでした。
(私はRGBA_8888が2.2以上のため、とにかくデフォルトのウィンドウ形式なので、それが明示的にその形式を設定することが4.0+への影響はありません少し驚きだと信じています。)
質問を残す、ソースがある場合8888、目的地は8888で、量子化/バンディングを導入しているのはなぜ?
非常に困惑しています。誰かが光を放つことができるのだろうか?
[ICSのビットマップが間違ったピクセル形式で読み込まれています](http://stackoverflow.com/questions/9097887/bitmaps-on-ics-are-loaded-with-wrong-pixel-format) –
ありがとうそのリンクのために...確かに同じ問題のように見える。いくつかの答えは、単にエミュレータの問題かもしれないと示唆しています。決定的な答えはありませんが、私は今のところそれについて行います。 – threeshinyapples
私はまったく同じ問題を抱えています。私はv2.2 +とv2.3 +の問題を取り除くことができましたが、v4.0ではなく、誰かがこれに対する解決策を知っているかどうか知りたいですか? – Sent1nel