0

イメージビューにイメージをロードします。画像は72x72ピクセルです

そのイメージビューでタッチしたすべてのピクセルユーザーを取得し、そこにポイントを描画したいと思います。

これは私がイメージビューの onTouchListener に持っているものです:

ImageView inneriv = (ImageView)arg0;
TextView tv1 = (TextView)findViewById(R.id.textView1);
TextView tv2 = (TextView)findViewById(R.id.textView2);
tv1.setText(String.valueOf(arg1.getX()));
tv2.setText(String.valueOf(arg1.getY()));
Paint p = new Paint();
p.setColor(Color.CYAN);
BitmapDrawable bd = (BitmapDrawable) inneriv.getDrawable();
Bitmap b = bd.getBitmap().copy(Config.ARGB_8888, true);
Canvas c = new Canvas(b);
c.drawPoint(arg1.getX(), arg1.getY(), p);
inneriv.setImageBitmap(b);
inneriv.invalidate();

イメージビューを画面全体にスケーリングするようにしました(ただし、ボタンと2つのテキストビューがあり、これはそれらの下に収まります)。

問題は、イメージビューに触れると何も描画されないことです。しかし、イメージビューの左上 (その中) にある 72x72 スクエアに触れると、イメージビューにシアンの点が表示されます。画像全体が 72x72 にあり、スケーリングされているだけで、他の場所のタッチ イベントには応答しません。どこにでも触れると、2 つのテキストビューに X と Y が表示されますが、何も描画されません。たぶん、スケールオプションか、私が気付いていない何かがあります。

どんな助けでも大歓迎です。

4

0 に答える 0