Android使用手指擦除位图透明度并匹配背景
场景:Android使用手指擦除位图透明度并匹配背景,android,canvas,transparency,Android,Canvas,Transparency,场景: 使用FingerPaint示例作为基础 在FingerPaint区域中绘制一些文本 希望用户能够通过在文本上拖动来用手指擦除文本的某些部分 参考: 尝试: 它几乎达到了我想要的位置,但是使用SRC和CLEAR时,拖动路径是黑色的。我希望拖动路径是绘制到画布上的颜色,而不必随着手指的移动重新绘制整个画布 如果您知道FingerPaint,他们会这样做: canvas.drawColor(0xFFAAAAAA); 我通过drawText在画布上写了一些黑色文字。 然后,我尝试了以下组合以
FingerPaint
示例作为基础FingerPaint
区域中绘制一些文本SRC
和CLEAR
时,拖动路径是黑色的。我希望拖动路径是绘制到画布上的颜色,而不必随着手指的移动重新绘制整个画布
如果您知道FingerPaint,他们会这样做:
canvas.drawColor(0xFFAAAAAA);
我通过drawText在画布上写了一些黑色文字。然后,我尝试了以下组合以允许用户删除文本:
mPaint.setColor(0xFFAAAAAA);
mPaint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.CLEAR));
mPaint.setColor(Color.TRANSPARENT);
mPaint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.CLEAR));
mPaint.setColor(0x00AAAAAA);
mPaint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.CLEAR));
您可以将CLEAR
模式替换为SRC
模式,将这三个模式相乘,并显示相同的结果
问题:
有人知道如何让我的擦除drawPath
采取适当的操作来擦除它被拖动的位图部分,并且在执行此操作时,被拖动的路径应该与文本下方画布上绘制的颜色相匹配吗