Как получить общую площадь при рисовании пути на холсте Android?

Я использую код ниже, чтобы нарисовать линию на холсте растрового изображения, в то время как движение пальца ... здесь я разместил частичный код, и он работает нормально

Как показано на рисунке ниже, черно-белое растровое изображение стирается при сенсорном перетаскивании. Я сделал холст прозрачным, чтобы фон родительского макета (цветное изображение) становился видимым.

Я хочу знать, сколько области стирается (например, 50% или 60% растрового изображения) ... есть ли способ найти это?

//Erasing paint

         mDrawPaint = new Paint();
    mDrawPaint.setAntiAlias(true); 
    mDrawPaint.setDither(true);  
    mDrawPaint.setStyle(Paint.Style.STROKE); 
    mDrawPaint.setStrokeJoin(Paint.Join.ROUND);
    mDrawPaint.setStrokeCap(Paint.Cap.ROUND);
    mDrawPaint.setStrokeWidth(50); 
    mDrawPaint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.CLEAR));
    BlurMaskFilter mBlur = new BlurMaskFilter(10, BlurMaskFilter.Blur.NORMAL);
    mDrawPaint.setMaskFilter(mBlur);
private void doDraw(Canvas c) {

    c.drawBitmap(mBitmap, 0, 0,null );

}
private float mX, mY;
private static final float TOUCH_TOLERANCE = 1;

void touch_start(float x, float y) {
    mPath.reset();
    mPath.moveTo(x, y);
    mX = x;
    mY = y;
}
void touch_move(float x, float y) {
    float dx = Math.abs(x - mX);
    float dy = Math.abs(y - mY);
    if (dx >= TOUCH_TOLERANCE || dy >= TOUCH_TOLERANCE) {
        mPath.quadTo(mX, mY, (x + mX)/2, (y + mY)/2);
        mX = x;
        mY = y;
    }

     canvas.drawPath(mPath, mDrawPaint ); //Erasing Black and white image

}
void touch_up() {
    mPath.lineTo(mX, mY);
    // commit the path to our offscreen
    mCanvas.drawPath(mPath, mDrawPaint);
    // kill this so we don't double draw
    mPath.reset();
}

Ответы на вопрос(5)

Ваш ответ на вопрос