自定义view的一些方法和参数介绍之第一期path和canvas

canvas家族

//设置画板的填充色(一般为整个view)
 canvas.drawColor(Color.YELLOW);

//画圆前俩个参数为圆心的X坐标,圆心的Y坐标,第三个参数为半径
//依据的坐标系原点为view的左上角初始点作为原点(图一)
 canvas.drawCircle(cx, cy, r, mPaint);

图一
图一
橘色背景范围为整个view,左上角为坐标原点

//画矩形,前面4个参数为左上右下离view的距离(图二)
canvas.drawRect(float left, float top, float right, float bottom, Paint paint) 

这里写图片描述
红色框框为view的范围,中间黑色框为矩形

//画点前面俩个参数为要画的点得位置坐标
canvas.drawPoint(float x, float y, @NonNull Paint paint)

//画椭圆前面4个参数可以确定一个矩形的位置,然后根据这个矩形画一个内切的圆在里面
canvas.drawOval(float left, float top, float right, float bottom, @NonNull Paint paint)

//画线 前面4个参数为,起始点得x,y坐标,结束点的x,y坐标,然后俩点练成一条线
 canvas.drawLine(float startX, float startY, float stopX, float stopY,
            @NonNull Paint paint)


//画圆角的矩形,前面4个参数为矩形,然后俩个参数为圆角的角度rx,ry
canvas.drawRoundRect(float left, float top, float right, float bottom, float rx, float ry,Paint paint)

//画扇形或者弧形 具体介绍看下面的链接
canvas.drawArc(float left, float top, float right, float bottom, float startAngle,
            float sweepAngle, boolean useCenter, @NonNull Paint paint)

http://blog.csdn.net/qq_15527709/article/details/78344809 drawArc方法介绍

    // 绘制出 path 描述的图形 path在下面讲解
 canvas.drawPath(path, paint); 

 canvas.drawBitmap(Bitmap bitmap, float left, float top, Paint paint) 画 Bitmap

 canvas.drawText(String text, float x, float y, Paint paint) 绘制文字

path家族


path.lineTo(float x, float y) / rLineTo(float x, float y) 画直线

path.moveTo(float x, float y) / rMoveTo(float x, float y) 移动到目标位置

path.addCircle(float x, float y, float radius, Direction dir) 添加圆

path.addOval(float left, float top, float right, float bottom, Direction dir) / addOval(RectF oval, Direction dir) 添加椭圆

path.addRect(float left, float top, float right, float bottom, Direction dir) / addRect(RectF rect, Direction dir) 添加矩形

----------------------------
添加圆角矩形的构造方法
path.addRoundRect(RectF rect, float rx, float ry, Direction dir) 

path.addRoundRect(float left, float top, float right, float bottom, float rx, float ry, Direction dir) 

path.addRoundRect(RectF rect, float[] radii, Direction dir) 

path.addRoundRect(float left, float top, float right, float bottom, float[] radii, Direction dir) 
----------------------------

path.addPath(Path path) 添加另一个 Path

------------------------
画二次贝塞尔曲线的构造方法
path.quadTo(float x1, float y1, float x2, float y2) 
path.rQuadTo(float dx1, float dy1, float dx2, float dy2) 
-------------------------------

------------------------
画三次贝塞尔曲线的构造方法
path.cubicTo(float x1, float y1, float x2, float y2, float x3, float y3) 
path.rCubicTo(float x1, float y1, float x2, float y2, float x3, float y3) 
----------------------------

----------------------
 画弧形的构造方法
path.arcTo(RectF oval, float startAngle, float sweepAngle, boolean forceMoveTo) 

path.arcTo(float left, float top, float right, float bottom, float startAngle, float sweepAngle, boolean forceMoveTo) 

path.arcTo(RectF oval, float startAngle, float sweepAngle)

path.addArc(float left, float top, float right, float bottom, float startAngle, float sweepAngle) 

path.addArc(RectF oval, float startAngle, float sweepAngle)
---------------------

path.close() 封闭当前子图形

Path.setFillType(Path.FillType ft) 设置填充方式
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值