Android--Path之Op

path的op()方法是把自身和另外一条path中的区域做相应的处理,传入参数有5种模式

Path path1 = new Path();
        path1.addCircle(150, 150, 100, Path.Direction.CW);

        Path path2 = new Path();
        path2.addCircle(200, 200, 100, Path.Direction.CW);

        // DIFFERENCE -- 减去Path2后Path1区域剩下的部分
        // INTERSECT --- 保留Path2 和 Path1 共同的部分
        // UNION -- 保留Path1 和 Path 2
        // XOR --- 保留Path1 和 Path2 去除共同的部分
        // REVERSE_DIFFERENCE --- 减去Path1后Path2区域剩下的部分
        path1.op(path2, Path.Op.DIFFERENCE);
        canvas.drawPath(path1, mPaint);
  • DIFFERENCE -- 减去Path2后Path1区域剩下的部分
DIFFERENCE.jpg
  • INTERSECT --- 保留Path2 和 Path1 共同的部分
INTERSECT.jpg
  • UNION -- 保留Path1 和 Path 2
UNION.jpg
  • XOR -- 保留Path1 和 Path2 去除共同的部分
XOR.jpg
  • REVERSE_DIFFERENCE -- 减去Path1后Path2区域剩下的部分
REVERSE_DIFFERENCE.jpg
posted @ 2020-01-20 16:38  aruba_233  阅读(90)  评论(0)    收藏  举报