11.1繪製基本圖形-面試例題3:繪製三角形

分別使用drawLines和drawLine方法畫三角形

如果使用drawLines方法繪製三角形,則需要指定6個座標點,現在使用drawLine方法指定3個座標就可以繪製三角形了(繪製首尾相連的直線)

答案:改進後的方法的基本原理是指定n個點的座標(p1,p2,p3.....pn)後,分別取n次座標,第一次取p1和p2,第二次取p2和p3.....第n次取pn和p1.這樣就可以用直線繪製首尾相連的圖形了。

代碼:

  1. package com.app;  
  2.  
  3. import android.content.Context;  
  4. import android.graphics.Canvas;  
  5. import android.graphics.Color;  
  6. import android.graphics.Paint;  
  7. import android.view.View;  
  8.  
  9. public class DrawLinesExtView extends View{  
  10.     float [] pts = new float[]{200,10,60,300,180,320};  
  11.     public DrawLinesExtView(Context context) {  
  12.         super(context);  
  13.     }  
  14.  
  15.     @Override  
  16.     protected void onDraw(Canvas canvas) {  
  17.         super.onDraw(canvas);  
  18.         Paint paint = new Paint();  
  19.         paint.setColor(Color.BLUE);  
  20.         for(int i = 0;i<pts.length;i+=2){  
  21.             int stopXIndex = i+2;  
  22.             int stopYIndex = i+3;  
  23.             if(stopXIndex>pts.length-1){  
  24.                 stopXIndex = 0;  
  25.             }  
  26.             if(stopYIndex>pts.length-1){  
  27.                 stopYIndex = 1;  
  28.             }  
  29.             canvas.drawLine(pts[i], pts[i+1], pts[stopXIndex], pts[stopYIndex], paint);  
  30.         }  
  31.         canvas.drawLines(new float[]{100,10,20,200,100,10,120,220,20,200,120,220}, 0, 12, paint);  
  32.     }  
  33. }  

 效果圖:

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章