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类方法:
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进行视图绘制。
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进行视图绘制。
相关文章推荐
- [Android学习系列4]关于Listview和adapter的一些事
- Android学习札记24:收集到的一些关于解决Bitmap OOM内存溢出的方法
- Android中关于JNI 的学习(二)对于JNI方法名,数据类型和方法签名的一些认识
- Android中关于JNI 的学习(零)简单的例子,简单地入门
- Android学习---关于布局的一些东西
- [Android学习系列9]关于Fragment的一些事
- Android学习札记24:收集到的一些关于解决Bitmap OOM内存溢出的方法
- 为自己记----android中关于actionbar的一些简单理解
- 关于进行java学习和Android开发,本人认为的一些基础的入门必需知识,全程手敲
- Android中关于JNI 的学习(四)简单的例子,温故而知新
- 问题:android学习内容破碎,我个人关于如何学习android的一些个人经历
- 关于 android Tween动画 和 frame动画的简单学习
- 关于Android学习要问的一些问题
- Android中关于JNI 的学习(零)简单的例子,简单地入门
- [Android学习系列13]关于Gridview的一些事
- mongodb学习一 关于 下载 安装 以及增删改查 还有一些简单的命令
- 推荐本人关于Android的一些学习资料
- 关于J2EE+android的学习,自己的一些总结
- 关于Oracle的一些学习简单知识
- Android中关于JNI 的学习(一)对于JNIEnv的一些认识