2012-01-26 19 views

答えて

1

例えば、各画像の境界を作成します各画像のコードに設定されたRect(位置&のサイズ)。オーバーライドするonDraw()のビューで、onTouchListenerをビュー自体に設定します。

onTouch()で、event.getX()/ getY()が白いイメージの範囲内にあることを確認します。次に、whiteImage.setPixel()を使用して、ビットマップイメージの個々のピクセルを設定します。または、白いビットマップイメージ自体を操作する代わりに、Canvas.drawPoint()を使用してください。

赤い矩形を表示していない点については...描画しないでください。

編集: 非正方形/矩形についてのご意見に。私はまだ四角形のタッチイベントをチェックし、それが形状に当たっている場合はイメージに渡します。

(私はそれがビットマップであると仮定しています)Bitmap.getPixel(x、y)を実行し、Color.Whiteに==かどうかを確認します。 !

+0

あなたはAndroid Canvas @ http://developer.android.com/guide/topics/graphics/2d-graphics.html#shape-drawableに描画する方法の詳細を見つけることができます。 – Ally

+0

私はあらかじめ画像が星や不規則な形の矩形であることがわかりません。 – user1169390

+0

私の編集を参照してください:)私はあなたが不規則な形でそれを行う方法を含めました。パフォーマンスを向上させるためにrectを使用し続けると、ピクセルチェックを常に望んでいません。単純な境界が最初にあり、次に個々のピクセルのピクセル – Micky

関連する問題