您的位置:首页 > 职场人生

11.1绘制基本图形-面试例题3:绘制三角形

2012-07-25 22:22 483 查看
分别使用drawLines和drawLine方法画三角形

如果使用drawLines方法绘制三角形,则需要指定6个坐标点,现在使用drawLine方法指定3个坐标就可以绘制三角形了(绘制首尾相连的直线)

答案:改进后的方法的基本原理是指定n个点的坐标(p1,p2,p3.....pn)后,分别取n次坐标,第一次取p1和p2,第二次取p2和p3.....第n次取pn和p1.这样就可以用直线绘制首尾相连的图形了。

代码:

package com.app;

import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.view.View;

public class DrawLinesExtView extends View{
float [] pts = new float[]{200,10,60,300,180,320};
public DrawLinesExtView(Context context) {
super(context);
}

@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
Paint paint = new Paint();
paint.setColor(Color.BLUE);
for(int i = 0;i<pts.length;i+=2){
int stopXIndex = i+2;
int stopYIndex = i+3;
if(stopXIndex>pts.length-1){
stopXIndex = 0;
}
if(stopYIndex>pts.length-1){
stopYIndex = 1;
}
canvas.drawLine(pts[i], pts[i+1], pts[stopXIndex], pts[stopYIndex], paint);
}
canvas.drawLines(new float[]{100,10,20,200,100,10,120,220,20,200,120,220}, 0, 12, paint);
}
}

效果图:



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息