您的位置:首页 > 移动开发 > Android开发

android关于绘图的一些简单的学习

2017-11-07 14:36 399 查看
Canvas类好比手机中的画纸,我们可以在Canvas上画图形或者图像(画圆-drawCircle(float cx, float cy, float radius, Paint paint),画点-drawPoint(float x, float y, Paint paint),画线-drawLine(float startX, float startY, float stopX, float stopY, Paint paint),画椭圆或内切圆-drawOval(RectF oval, Paint paint),画弧-drawArc(RectF oval, float startAngle, float sweepAngle, boolean useCenter,Paint paint),画矩形-drawRect(float left, float top, float right, float bottom, Paint paint),画圆角矩形-drawRoundRect(RectF rect, float rx, float ry, Paint paint),画路径-drawPath(Path path, Paint paint))。

Paint类包含有用来画几何图形、文本、位图的类型和颜色等信息.


Point类从字面意思就可以看出它跟点有关系,是点的一个对象类。


Path主要用于绘制复杂的图形轮廓,比如折线,圆弧以及各种复杂图案

Path类方法:



moveTo方法用于移动画笔位置

lineTo方法用于画出一条直线方法

quadTo方法是path内部提供用于绘画二阶贝塞尔曲线的方法,quadTo(float
x1, float y1, float x2, float y2),此方法有四个参数,x1,y1为控制点的的坐标,x2和y2为终点的坐标


cubicTo方法是path内部提供用来绘制三阶贝赛尔曲线的方法,cubicTo(float
x1, float y1, float x2, float y2, float x3, float y3)此方法有四个参数,x1,y1为控制点的的坐标,x2和y2为第二个控制点的坐标,x3和y3为终点的坐标。


arcTo方法是用来绘制弧线的,arcTo(RectF
oval, float startAngle, float sweepAngle)方法有三个参数,弧线绘制是截取rectf矩形内接圆的一部分,startAngle是起始位置的角度值,sweepAngle:旋转的角度值


View中的onMeasure方法计算view大小然后在父控件需要放置子控件是调用获取子控件尺寸大小,根据大小给子控件划分空间,onLayout方法用来计算子控件的实际位置,其参数分别是相对于父控件的位置,子视图放置于父视图的位置由onLayout决定,自定义view由onMeasure进行计算,由onLayout确定视图位置,由onDraw进行视图绘制。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: