Android绘图:绘制多条直线的 drawLines方法
android可以通过drawLines方法绘制多条直线,根据参数的不同有分为两种情况。
1.一般的绘制多条直线drawLines (float[] pts, Paint paint)
【功能说明】该方法用于在画布上绘制多条直线,通过指定直线的端点坐标数组来绘制。该方法可以绘制多条直线,非常灵活。
【基本语法】public void drawLines (float[] pts, Paint paint)
参数说明
pts:绘制直线的端点数组,每条直线占用4个数据。
paint:绘制直线所使用的画笔。
【实例演示】下面通过代码来演示如何在画布上绘制多条直线。
protected void onDraw(Canvas canvas) {
// TODO Auto-generated method stub
super.onDraw(canvas);
paint.setColor(Color.BLACK); //设置画笔颜色
float\[\] pts={50,50,400,50,
400,50,400,600,
400,600,50,600,
60,600,50,50}; //数据
canvas.drawColor(Color.WHITE); //白色背景
paint.setStrokeWidth((float) 5.0); //线宽
canvas.drawLines(pts, paint); //绘制多条直线
}
在这段代码中,首先设置画笔的颜色,然后初始化一个数组代表绘制直线的各个端点,这里每一行4个数组,前两个为起始端点,后两个为终止端点,这里共绘制了4条直线,构成一个封闭的图形。
2.有选择的绘制多条直线 drawLines (float[] pts, int offset, int count, Paint paint)
【功能说明】该方法用于在画布上绘制多条直线,通过指定直线的端点坐标数组来绘制。该方法可以绘制多条直线,同时也可以指定哪些线段绘制,而哪些线段不绘制,更加灵活。
【基本语法】public void drawLines (float[] pts, int offset, int count, Paint paint)
参数说明
pts:绘制直线的端点数组,每条直线占用4个数据。
offset:跳过的数据个数,这些数据将不参与绘制过程。
count:实际参与绘制的数据个数。
paint:绘制直线所使用的画笔。
【实例演示】下面通过代码来演示如何在画布上有选择地绘制直线。``` protected void onDraw(Canvas canvas) { // TODO Auto-generated method stub super.onDraw(canvas); paint.setColor(Color.BLACK); //设置画笔颜色 float[] pts={50,50,400,50, 400,50,400,600, 400,600,50,600, 60,600,50,50}; //数据 canvas.drawColor(Color.WHITE); //白色背景 paint.setStrokeWidth((float) 5.0); //线宽 canvas.drawLines(pts,4,12,paint); //有选择地绘制直线 }
在这段代码中,首先设置画笔的颜色,然后初始化一个数组代表绘制直线的各个端点。接着,设置画布的背景为白色,在绘制直线时调用drawLines方法,**指定跳过前4个数据,取出12个数据绘制直线**。