笔记—自定义View之绘制基础
2017-09-12 18:52
351 查看
一 Paint基础使用方法
1 Paint.setStyle(Style style) 设置绘制模式
Paint.setColor(int color) 是 Paint 最常用的方法之一,用来设置绘制内容的颜色。你不止可以用它画红色的圆,也可以用它来画红色的矩形、红色的五角星、红色的文字。
2 Paint.setColor(int color) 设置颜色
setStyle(Style style) 这个方法设置的是绘制的 Style 。Style 具体来说有三种: FILL, STROKE 和 FILL_AND_STROKE 。FILL 是填充模式,STROKE 是画线模式(即勾边模式),FILL_AND_STROKE 是两种模式一并使用:既画线又填充。它的默认值是 FILL,填充模式
3 Paint.setStrokeWidth(float width) 设置线条宽度
在 STROKE 和 FILL_AND_STROKE 下,还可以使用 paint.setStrokeWidth(float width) 来设置线条的宽度:
4 Paint.setTextSize(float textSize) 设置文字大小
在绘制的时候,往往需要开启抗锯齿来让图形和文字的边缘更加平滑。开启抗锯齿很简单,只要在 new Paint() 的时候加上一个 ANTI_ALIAS_FLAG 参数就行:Paint paint = new Paint(Paint.ANTI_ALIAS_FLAG);
也可以使用 Paint.setAntiAlias(boolean aa) 来动态开关抗锯齿
5 Paint.setAntiAlias(boolean aa) 设置抗锯齿开关
通过 Paint.setTextSize(textSize),可以设置文字的大小
6 Path.setFillType(Path.FillType ft) 设置填充方式
是用来设置图形自相交时的填充算法的
二 Canvas.drawX()方法
1 画圆 Canvas.drawCircle(x,y,r,paint) 圆心坐标xy 半径r
val paint = Paint(Paint.ANTI_ALIAS_FLAG) canvas.drawCircle(300f, 300f, 300f, paint)
2 画矩形 canvas.drawRect(l,t,r,b,paint) 矩形四条边 距离坐标轴的距离
val paint = Paint(Paint.ANTI_ALIAS_FLAG) canvas.drawRect(100f, 100f, 600f, 900f, paint)
3 画点 canvas.drawPoint(x,y,paint) 点的坐标xy 在paint.setStrokeCap设置点的样式 圆点 还是方点
val paint = Paint(Paint.ANTI_ALIAS_FLAG) paint.strokeCap = Paint.Cap.SQUARE canvas.drawPoint(100f, 100f, paint)
4 画椭圆 canvas.drawOval(l,t,r,b,paint) 椭圆四个顶点到坐标轴的距离
val paint = Paint(Paint.ANTI_ALIAS_FLAG) canvas.drawLine(0f,30f,100f,30f,paint)
5 画线 canvas.drawLine(sx,sy,ex,ey,paint) 起始点左边sx sy 终止点坐标ex ey
val paint=Paint() canvas.drawLine(0f,30f,100f,30f,paint)
6 画圆角矩形 canvas.drawRoundRect(r,h,v,paint) r:矩形坐标 h v:横向和纵向的直径距离
val paint = Paint() canvas.drawRoundRect(RectF(100f, 100f, 500f, 300f), 50f, 70f, paint)
7 画弧形或扇形或曲线 canvas.drawArc(r,sw,ew,userCenter,paint) r:图形所在椭圆的坐标 sw:起始角度 ew:划过角度 userCenter 是否连接中心点 最终图片 是弧形或扇形或曲线 取决去是否连接中心点 和 是否填充图形
val paint = Paint() paint.style=Paint.Style.FILL canvas.drawArc(RectF(200f,200f,800f,500f),-100f,100f,true,paint) canvas.drawArc(RectF(200f,200f,800f,500f),20f,140f,false,paint) paint.style=Paint.Style.STROKE canvas.drawArc(RectF(200f,200f,800f,500f),180f,60f,true,paint)
8 画路径path canvas.drawPath()画复杂图像会用到 比如画心
画心型 val paint = Paint() val path = Path() path.addArc(RectF(200f, 200f, 400f, 400f), -225f, 225f) path.arcTo(RectF(400f, 200f, 600f, 400f), -180f, 225f, false) path.lineTo(400f, 542f) path.close() canvas.drawPath(path,paint) 画三角 val paint=Paint() paint.style= Paint.Style.STROKE val path= Path() path.lineTo(100f,100f) path.moveTo(200f,100f) path.lineTo(200f,0f) canvas.drawPath(path,paint)
9 画图像 drawBitmap(Bitmap bitmap, float left, float top, Paint paint) 画 Bitmap 绘制 Bitmap 对象,也就是把这个 Bitmap 中的像素内容贴过来。其中 left 和 top 是要把 bitmap 绘制到的位置坐标。它的使用非常简单
val paint=Paint() canvas.drawBitmap(bitmap,left,top,paint)
10 画文字 drawText(String text, float x, float y, Paint paint) 绘制文字
val paint=Paint() canvas.drawText(text,x,y,paint)
相关文章推荐
- 安卓自定义View基础-绘制饼图
- 自定义VIEW(学习笔记二)-分类和绘制流程
- Android 开发进阶: 自定义 View 1-1 绘制基础
- android--笔记--自定义View绘制圆环
- 自定义View学习笔记06—Canvas绘制图片
- 自定义View绘制基础
- iOS学习笔记-053.自定义View01——基础
- 自定义View笔记之绘制画笔
- Android自定义View之绘制基础
- Android 自定义View基础-View的绘制
- 自定义View笔记-圆形控件View的绘制
- Android 开发进阶: 自定义 View 1-1 绘制基础
- Android笔记之自定义View——绘制圆环比例展示图
- 安卓自定义View基础05-Canvas之基础图形绘制,点,线,矩形,圆,椭圆,弧形等
- 安卓自定义View基础-绘制点、线、矩形、圆形等
- 自定义View学习笔记04—Canvas的绘制图形
- 笔记—自定义View之DrawText文字绘制
- 自定义View之绘图篇(一):基础图形的绘制
- 自定义View之自绘控件-绘制基础
- 基础篇-View事件传递与绘制机制,自定义View实现理解