0

Google マップのように大きなビットマップをタイルに表示するアプリケーションを作成しています。サーバーは、スケーリング/変換されたキャンバスに描画したビットマップを送信します。このビットマップをアンチエイリアスで描画したいのですが、キャンバスでアンチエイリアスを有効にすると、ビットマップのエッジが背景 (なし/黒) と混同され、タイル間に醜い暗い線が生成されます。描画時にビットマップのエッジをアンチエイリアスしないように Android に指示する方法はありますか? または、その問題に対して他にどのような魂が存在しますか?

4

2 に答える 2

1

Canvas でアンチエイリアスを有効にするのではなく、Canvas.drawBitmap() に提供する Paint オブジェクトで有効にします。したがって、ここでの解決策は、2 つの異なる Paint オブジェクトを使用することだと思います。1 つ目は AA をオフにしてビットマップを描画し、2 つ目は AA をオンにして他のすべてを描画します。

Paint.setDither() または Paint.setFilterBitmap() を使用して、ビットマップの描画方法に影響を与えることに興味があるかもしれません。

于 2011-01-05T20:51:51.180 に答える
0

自分で質問に答えさせてください。アンチエイリアシングが必要な機能だと思っていたので、混乱しました。実際、ペイント オブジェクトでアンチエイリアスを false に設定し、ビットマップ フィルタリングを true に設定すると、問題が解決しました。アンチエイリアシングを true に設定すると、タイル間の醜い線が作成されました。ありがとう!

于 2011-01-07T12:35:33.567 に答える