Mi idea es superponer 2 imágenes una encima de la otra y, al tocar, la imagen superior debe hacerse transparente en ese radio tocado, exponiendo así la imagen inferior.Asegúrese de que cierto área del mapa de bits sea transparente al tacto
Así es como superponer las 2 imágenes:
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);
He mirado en this post y tienen una pintura, como a continuación para hacerlo transparente:
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
}
El problema es que creo que el círculo enseguida haga que las 2 imágenes sean transparentes en el radio definido, ¿cómo puedo hacer que solo el mapa de bits superior sea transparente?
Algo está mal con mi pintura supongo. – SteD
La solución funciona perfectamente en Android 4.x pero en 2.x los círculos son negros en lugar de mostrar la imagen. ¿Alguna idea? – Ixx