2011-01-05 5 views
0

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

答えて

2

キャンバスでアンチエイリアスを有効にすることはできません。Canvas.drawBitmap()に提供するPaintオブジェクトでキャンバスを有効にします。だからここの解決策は、私が信じるように、2つの異なるPaintオブジェクトを使用することです。最初のものはビットマップを描画するためにオフにし、もう1つは他のすべてを描画するためにAAでオンにします。

Paint.setDither()またはPaint.setFilterBitmap()を使用して、ビットマップの描画方法に影響を与えることができます。

0

私は自分自身で質問に答えることができます:私はアンチエイリアスが必要な機能だと思ったので混乱しました。実際に、Paintオブジェクトでアンチエイリアスをfalseに設定し、bitmapfilteringをtrueに設定すると問題が解決しました。真に設定された反平行化は、タイルの間に醜い線を作りました。 ありがとう!

+0

ええ、それは1月5日の私の答えでした:( – Josh

+0

ビットマップフィルタリングについては言及していませんでしたので、そうではありません – sbrandt

+0

Paint.setFilterBitmap()を使用していませんか?いずれにせよ、あなたはそれを理解してうれしいです(ほぼ1年前に:)。 – Josh

関連する問題