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.这样就可以用直线绘制首尾相连的图形了。
代码:
效果图:
![](http://blog.51cto.com/attachment/201207/222539473.jpg)
如果使用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); } }
效果图:
![](http://blog.51cto.com/attachment/201207/222539473.jpg)
相关文章推荐
- 11.1绘制基本图形-面试例题2:绘制多个像素点和多条直线
- 纯CSS画的基本图形技巧绘制(矩形、圆形、三角形、多边形、爱心、八卦等)
- Android编程开发之在Canvas中利用Path绘制基本图形(圆形,矩形,椭圆,三角形等)
- 面试例题1:如何在android应用程序的窗口上绘制图形
- IOS 绘制基本图形( 画圆、画线、画圆弧、绘制三角形、绘制四边形)
- ios-day14-01(使用Quartz 2D绘制基本图形——线、三角形、矩形、圆、圆弧、扇形、文字、图片等)
- GD2绘制基本图形
- Quartz 2D之基本图形绘制
- php使用gd2绘制基本图形示例(直线、圆、正方形)
- Python基本图形绘制
- iOS的基本图形绘制
- python数字图像处理(12):基本图形的绘制
- 小结:基本绘制图形知识点(Quartz2D第二天)
- matlab画图入门篇--各种基本图形绘制的函数与实例【转载】
- 【Visual C++】游戏开发笔记之四——游戏画面绘图(一)基本图形绘制
- Quartz 2D 绘制基本图形讲解
- iOS-UI -- Quartz2D绘制基本图形
- CSS之纯CSS画的基本图形(矩形、圆形、三角形、多边形、爱心、八卦等)
- Android自定义控件入门绘制基本图形
- 纯CSS画的基本图形(矩形、圆形、三角形、多边形、爱心、八卦等)