Android使用finger删除位图透明度并匹配背景

时间:2013-04-05 18:20:09

标签: android canvas transparency

情景:

  1. 使用FingerPaint示例作为基础
  2. FingerPaint区域
  3. 中绘制一些文字
  4. 希望用户能够通过拖动手指来删除文本的某些部分
  5. 参考: How erase Paint with the finger

    尝试:

    它几乎可以到达我想要的位置,但使用SRCCLEAR时,拖动路径为黑色。我希望拖动路径是绘制到画布的颜色,而不会在手指移动时重绘整个画布。

    如果您了解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采取适当的措施来删除拖动的位图部分,并且在执行此操作时,正在拖动的路径应该与绘制到的路径的颜色相匹配文字下方的画布?

0 个答案:

没有答案