Androidで半透明のドローアブルを描画しますが、黒いエッジ

alpha android canvas drawable
Androidで半透明のドローアブルを描画しますが、黒いエッジ

キャンバスに描画する下の画像(画像の白い泡)があります。 コードを使用して画像を描画すると..、画像の端が黒い円になり、丸くなります.. エッジのアルファは0x00です。

image.setBounds(left、top、right、bottom);

image.draw(canvas);

期待される画像:https://i.stack.imgur.com/GEBRo.png [alt text]私が画像を描くとき:https://i.stack.imgur.com/edIld.png [alt text]

どうすれば黒い丸を削除できますか??? 画像が間違っていますか? または誰でも手がかりを知っている、私に手がかりを教えてください.. 前もって感謝します..

^^

  0  0


ベストアンサー

イメージエディター(Photoshop?)から出力されると予想される場合は、32ビットブレンドの結果になりますが、Androidのアルファブレンドは16ビットで実行されているように見えるため、バンディングが発生します。バックグラウンドで、画像の周りのハロー。

Bitmap`オブジェクトを使用していると仮定すると、 bitmap.getConfig() を呼び出して色深度( Bitmap.Config`列挙から)を見つけることで、これが当てはまるかどうかを確認できます。

編集:ハローを引き起こす可能性のあるもう1つのこと-スプライトのエッジのアルファが0であると言いますが、RGB値はどうですか? ARGBが黒(ARGB 0x00000000)ではなく、フルホワイト(ARGB 0x00ffffff)に設定されていることを確認してください。

0


タイトルとURLをコピーしました