Android绘图:绘制多条直线的 drawLines方法

来源(泡在网上的日子)

From: http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2012/1224/739.html

Android绘图:绘制多条直线的 drawLines方法

泡在网上的日子 / 文 发表于2012-12-24 21:42 第15460次阅读

编辑推荐:稀土掘金,这是一个针对技术开发者的一个应用,你可以在掘金上获取最新最优质的技术干货,不仅仅是Android知识、前端、后端以至于产品和设计都有涉猎,想成为全栈工程师的朋友不要错过!

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个数据绘制直线。

Link: http://www.asm32.net/article_details.aspx?id=7343


浏览次数 0 发布时间 2019-02-08 09:51:23 从属分类 Android 安卓 【评论】【 】【打印】【关闭
 
| www.asm32.net | 2006版 | 资料中心 | linux | asm/asm32 | C/C++ | VC++ | java | Python | 书签 | ASP.Net书签 | 京ICP备09029108号-1