公众号同名
Canvas基础图形绘制
上文中我们简单实现了使用自定义View
绘制一个边长100的正方形这个需求,不知道同学们掌握的怎么样了?接下来我们看下自定义View
中其他图形的绘制方式。
下表中罗列了Canvas
中绘图方法及说明(由于大多数方法都有多个重载实现,我们表中只列出比较常用的):
方法名 | 方法说明 | 备注 |
---|---|---|
drawPoint(float x, float y, @NonNull Paint paint) |
绘制点 | Paint #setStrokeWidth(float width) 设置点的大小 |
drawPoints(@Size(multiple = 2) @NonNull float[] pts, @NonNull Paint paint) |
绘制一组点 | Paint #setStrokeWidth(float width) 设置点的大小 |
drawLine(float startX, float startY, float stopX, float stopY, @NonNull Paint paint) |
绘制一条直线,起于(startX ,startY ),止于(stopX ,stopY ) |
Paint #setStrokeWidth(float width) 设置线宽 |
drawLines(@Size(multiple = 4) @NonNull float[] pts, @NonNull Paint paint) |
绘制一组直线,pts 中四个值为一条直线的起终点 |
Paint #setStrokeWidth(float width) 设置线宽 |
drawRect(float left, float top, float right, float bottom, @NonNull Paint paint) |
绘制一个以(left ,top )为左上角,(right ,bottom )为右下角大小的矩形 |
Paint #setStyle(Style style) 设置是否是实心矩形,Paint #setStrokeWidth(float width) 设置线宽 |
drawRect(@NonNull Rect r, @NonNull Paint paint) |
以r 所描述的区域绘制矩形 |
同上 |
drawRect(@NonNull RectF rect, @NonNull Paint paint) |
以rect 所描述的区域绘制矩形 |
同上 |
drawRoundRect(float left, float top, float right, float bottom, float rx, float ry, @NonNull Paint paint) |
绘制圆角矩形,前四个值说明同drawRect ,rx ,ry 用于指定圆角弧度 |
同上 |
drawCircle(float |