多语言展示
当前在线:936今日阅读:145今日分享:43

android canvas基本操作

canvas顾名思义画布的意思,andorid提供一个canvas接口,通过这个接口可以在手机上完成简单的和复杂的图形绘制。下面我们从简单的图形入手,比如:圆,矩形,正方形,弧线,椭圆的绘制函数方法
工具/原料
1

电脑(windows)

2

eclipse+android编程环境

方法/步骤
1

首先新建一个android项目名字为CanvasShow,其余参数可以自己配置,点击完成,形成项目信息

2

配置main.xml,在这里main.xml 基本不用修改,只需增加

3

CanvasShowInfo中实现方法:    @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.main);        init();    }    private void init() {          LinearLayout layout=(LinearLayout) findViewById(R.id.root);          final CanvasDraw view=new CanvasDraw(this);          view.setMinimumHeight(500);          view.setMinimumWidth(300);          //通知view组件重绘    这个很重要!        view.invalidate();          layout.addView(view);                }  那么CanvasDraw.java中实现了什么呢?

4

声明CanvasDraw.java 继承View,重写其中的onDraw方法。比如画圆:      // 创建画笔          Paint p = new Paint();       p.setColor(Color.RED);// 设置红色          canvas.drawText('画圆:', 10, 20, p);// 画文本          canvas.drawCircle(40, 40, 15, p);// 分别是 圆心的x,y坐标,15为半径         p.setAntiAlias(true);// 设置画笔的锯齿效果。 true是去除,大家一看效果就明白了          canvas.drawCircle(100, 120, 50, p);// 分别是 圆心的x,y坐标,50为半径从图中可以看见,去除锯齿的图形更加圆滑。下面是相对应的效果图

5

canvas.drawText('画矩形:', 10, 90, p);          p.setColor(Color.BLUE);// 设置灰色          p.setStyle(Paint.Style.FILL);//设置填满          canvas.drawRect(60, 60, 80, 80, p);// 正方形          canvas.drawRect(70, 90, 300, 100, p);// 长方形  // drawRect函数前两个参数是一个顶点的坐标,后两个参数是对顶点的坐标,相对应的效果图

6

canvas.drawText('画扇形:', 120, 120, p);    // 设置渐变色 这个扇形的颜色是改变的 /   Shader mShader = new LinearGradient(0, 0, 100, 100,    new int[] { Color.RED, Color.GREEN, Color.BLUE, Color.YELLOW,                          Color.LTGRAY }, null, Shader.TileMode.REPEAT); // 一个材质,打造出一个线性梯度沿著一条线。          p.setShader(mShader);          p.setColor(Color.BLUE);          RectF oval2 = new RectF(60, 100, 200, 240);// 设置个新的长方形,扫描测量          canvas.drawArc(oval2, 200, 130, true, p);          // 画弧,第一个参数是RectF:该类是第二个参数是角度的开始,第三个参数是多少度,第四个参数是真的时候画扇形,是假的时候画弧线          其中:public void drawArc(RectF oval, float startAngle, float sweepAngle, boolean useCenter, Paint paint)oval :指定圆弧的外轮廓矩形区域。startAngle: 圆弧起始角度,单位为度。sweepAngle: 圆弧扫过的角度,顺时针方向,单位为度。useCenter: 如果为True时,在绘制圆弧时将圆心包括在内,通常用来绘制扇形。paint: 绘制圆弧的画板属性,如颜色,是否填充等。

推荐信息