分別使用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);
- }
- }
效果圖: