Android--Path之FillType

FillType是对一条path中的区域做相应的处理,使用setFillType()方法,传入参数有4种模式,并且Paint的style必须为FILL或FILL_AND_STROKE

Path path = new Path();
        path.offset(100, 100);
        path.addCircle(200, 200, 100, Path.Direction.CW);
        path.addCircle(300, 300, 100, Path.Direction.CW);
        // WINDING 模式 --- 取Path所有所在的区域 -- 默认的模式
        // EVEN_ODD 模式 --- 取Path所在不相交的区域
        // INVERSE_WINDING 模式 -- 取path所有未占的区域
        // INVERSE_EVEN_ODD 模式 --- 取path所有未占和相交的区域
        path.setFillType(Path.FillType.WINDING);

        canvas.drawPath(path, mPaint);
  • WINDING -- 取Path所有所在的区域 -- 默认的模式
WINDING.jpg
  • EVEN_ODD -- 取Path所在不相交的区域
EVEN_ODD .jpg
  • INVERSE_WINDING -- 取path所有未占的区域
INVERSE_WINDING.jpg
  • INVERSE_EVEN_ODD -- 取path所有未占和相交的区域
INVERSE_EVEN_ODD.jpg
posted @ 2020-01-20 16:19  aruba_233  阅读(70)  评论(0)    收藏  举报