Board logo

标题: Android Canvas之Path操作(4) [打印本页]

作者: look_w    时间: 2019-2-19 16:32     标题: Android Canvas之Path操作(4)

绘制常规图形

    //绘制圆
    addCircle(float x, float y, float radius, Direction dir)
     //绘制椭圆
    addOval(RectF oval, Direction dir)
    addOval(float left, float top, float right, float bottom, Direction dir)
    //绘制矩形
    addRect(RectF rect, Direction dir)
    addRect(float left, float top, float right, float bottom, Direction dir)
    //绘制圆角矩形
    addRoundRect(RectF rect, float rx, float ry, Direction dir)
    addRoundRect(float left, float top, float right, float bottom, float rx, float ry,Direction dir)
    addRoundRect(RectF rect, float[] radii, Direction dir)
    addRoundRect(float left, float top, float right, float bottom, float[] radii,Direction dir)

所有方法里面都有一个共同的参数Direction :
Direction     备注
Path.Direction.CCW     counter-clockwise ,沿逆时针方向绘制
Path.Direction.CW     clockwise ,沿顺时针方向绘制

Direction 用法示例:

    //初始化Paint
    Paint paint = new Paint();
    paint.setColor(Color.RED);
    paint.setStyle(Paint.Style.STROKE);
    paint.setStrokeWidth(2f);
    paint.setTextSize(40f);
    //初始化Path
    Path path = new Path();
    //以(600,600)为圆心,300为半径绘制圆
    //Path.Direction.CW顺时针绘制圆 Path.Direction.CCW逆时针绘制圆
    path.addCircle(600, 600, 300, Path.Direction.CW);
    //沿path绘制文字
    canvas.drawTextOnPath("痛苦最好是别人的,快乐才是自己的;麻烦将是暂时的,朋友总是永恒的。", path, 0, 0, paint);
    canvas.drawPath(path, paint);

效果图:





欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0