关于Android Path

来源:互联网 发布:去哪里学it 编辑:程序博客网 时间:2024/05/22 00:08

初学Path 先总结如下,

首先调用Path的MoveTo(x,y)方法,相当于确定路径的起点

然后不断的调用lineTo(x,y)方法,绘制各种图形

感觉lineTo(x,y)方法就是考验我们数学功底的时候啦

最后再调用close()方法,就把最后一个点和第一个点成功的连接起来啦

举例如下:

package com.example.imageview;import android.content.Context;import android.graphics.Canvas;import android.graphics.Color;import android.graphics.Paint;import android.graphics.Path;import android.graphics.RectF;import android.util.AttributeSet;import android.view.View;public class ImageView extends View {public ImageView(Context context, AttributeSet attrs, int defStyle) {super(context, attrs, defStyle);// TODO Auto-generated constructor stub}public ImageView(Context context, AttributeSet attrs) {super(context, attrs);// TODO Auto-generated constructor stub}public ImageView(Context context) {super(context);// TODO Auto-generated constructor stub}@Overrideprotected void onDraw(Canvas canvas){super.onDraw(canvas);//将整个View的背景绘制成白色canvas.drawColor(Color.WHITE);Paint paint = new Paint();paint.setAntiAlias(true);//去锯齿???paint.setColor(Color.RED);paint.setStyle(Paint.Style.STROKE);//****这个风格是什么样子?????paint.setStrokeWidth(3);//设置边框//绘制圆形canvas.drawCircle(40, 40, 30, paint);//绘制正方形canvas.drawRect(10, 80, 70, 140, paint);//绘制矩形canvas.drawRect(10, 150,70,190,paint);//绘制圆角矩阵 ------ 就是先做出来一个矩形区域,然后不再调用drawRect方法,而是调用drawRoundRect方法RectF rel = new RectF(10,200,70,230);//这是一个矩形区域canvas.drawRoundRect(rel, 15, 15, paint);//绘制椭圆RectF rell = new RectF(10,240,70,270);canvas.drawOval(rell, paint);//定义一个三角形 利用PathPath path1 = new Path();path1.moveTo(10, 340);path1.lineTo(70, 340);path1.lineTo(40, 290);path1.close();//根据Path进行绘制canvas.drawPath(path1, paint);//绘制一个五边形Path path2 = new Path();path2.moveTo(10, 392);path2.lineTo(26, 360);path2.lineTo(54, 360);path2.lineTo(70, 392);path2.lineTo(40, 420);path2.close();//根据Path绘图canvas.drawPath(path2, paint);paint.setStyle(Paint.Style.FILL);//设置风格}}

0 0
原创粉丝点击