Tornar transparente uma determinada área do bitmap ao toque

Minha idéia é sobrepor duas imagens umas sobre as outras e, no onTouch, a imagem superior deve ficar transparente nesse raio tocado, expondo a imagem inferio

É assim que sobreponho as 2 imagens:

        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);

Eu olhei paraesta postage e use uma pintura como a abaixo para torná-la 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
}

Problema é: acho que o círculo imediatamente torna as 2 imagens transparentes no raio definido, como posso tornar transparente apenas o bitmap superior?

questionAnswers(2)

yourAnswerToTheQuestion