Canvas类
Canvas我们可以称之为画布,能够在上面绘制各种东西,是安卓平台2D图形绘制的基础,非常强大。
drawColor(int color) 绘制底色
drawARGB(int a, int r, int g, int b)
drawColor(int color, PorterDuff.Mode mode)
- PorterDuff.Mode
canvas.drawColor(Color.BLUE); //绘制蓝色
drawPoint(float x, float y, Paint paint) 绘制一个点
- float X:点的X坐标
- float Y:点的Y坐标
canvas.drawPoint(100, 100, paint);
drawPoints(float[] pts, Paint paint)
drawPoints(float[] pts, int offset, int count, Paint paint)
- float[] pts:点的合集
- offset:偏移点
- count:绘制个数
float []pts={
10,10,100,100,200,200,400,400};
canvas.drawPoints(pts, 2, 4, paint);
drawLine(float startX, float startY, float stopX, float stopY, Paint paint) 绘制直线
drawLines(float[] pts, int offset, int count, Paint paint)
drawLines(float[] pts, Paint paint)
绘制一组线,每四数字(两个点的坐标)确定一条线
canvas.drawLine(300,300,500,600,mPaint); // 在坐标(300,300)(500,600)之间绘制一条直线
canvas.drawLines(new float[]{ // 绘制一组线 每四数字(两个点的坐标)确定一条线
100,200,200,200,
100,300,200,300
},mPaint);
drawRect(float left, float top, float right, float bottom, Paint paint) 绘制矩形
drawRect(Rect r, Paint paint) 坐标封装为Rect
drawRect(RectF rect, Paint paint) 坐标封装RectF
确定确定一个矩形最少需要四个数据,就是对角线的两个点的坐标值,这里一般采用左上角和右下角的两个点的坐标。
// 第一种
canvas.drawRect(100,100,800,400,mPaint);
// 第二种
Rect rect = new Rect(100,100,800,400);
canvas.drawRect(rect,mPaint);
// 第三种
RectF rectF = new RectF(100,100,800,400);
canvas.drawRect(rectF,mPaint);
- 区别:Rect是int(整形)的,而RectF是float(单精度浮点型)的。
矩形工具类RectF与Rect:
RectF:
构造函数有下面四个,但最常用的还是第二个,根据四个点构造出一个矩形;
- RectF()
- RectF(float left, float top, float right, float bottom)
- RectF(RectF r)
- RectF(Rect r)
Rect
构造函数如下,最常用的也是根据四个点来构造矩形
- Rect()
- Rect(int left, int top, int right, int bottom)
- Rect(Rect r)