Моя идея состоит в том, чтобы наложить два изображения друг на друга и на onTouch, верхнее изображение должно быть прозрачным на этом затронутом радиусе, таким образом отображая нижнее изображение.
Вот как я накладываю 2 изображения:
Bitmap bmOverlay = Bitmap.createBitmap(bmp1.getWidth(), bmp1.getHeight(), bmp1.getConfig());
Canvas canvas = new Canvas(bmOverlay);
canvas.drawBitmap(bmp1, new Matrix(), null);
canvas.drawBitmap(bmp2, new Matrix(), null);
Я просмотрел этот пост и у вас есть Paint, как показано ниже, чтобы сделать его прозрачным:
mPaint = new Paint();
mPaint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.SRC));
mPaint.setColor(Color.TRANSPARENT);
mPaint.setAntiAlias(true);
public void onDraw(Canvas canvas) {
canvas.drawCircle(40, 40, 30, mPaint); //hardcode to test
}
Проблема в том, что я думаю, что круг сразу сделает 2 изображения прозрачными на определенном радиусе, как я могу сделать только верхнюю растровую карту прозрачной?