首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

Android Canvas之Path操作(4)

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);

效果图:
返回列表