Canvas画布

来源:互联网 发布:js location.replace 编辑:程序博客网 时间:2024/04/27 23:13
常用方法
Canvas():创建一个空白画布可以使用setBitmap设置绘制具体的画布
Canvas(Bitmap bitmap):已bitmap对象创建一个画布,则将内容都绘制在bitmap上,因此bitmap不能为NULL
Canvas(javax.microedition.khronos.opengles.GL gl):绘制3D效果时使用,与OpenGL有关
drawColor:设置Canvas的背景颜色
setBitmap:设置具体画布
clipRect:设置显示区域,即设置裁剪区域
isOpaque:检测是否支持透明
rotate:旋转画布
setViewport:设置画布中显示的窗口
skew:设置偏移量
save:锁定画布,如果要对画布进行旋转、移动等操作时进行锁定时可以只旋转或移动其中一个
restore:解锁画布,与锁定一起使用,不能比save方法使用次数多

import android.content.Context;import android.graphics.Canvas;import android.graphics.Color;import android.graphics.Paint;import android.graphics.Rect;import android.view.View;/** * @version 2012-8-10 上午10:25:09 **/public class GameView extends View implements Runnable {    Paint mPaint = null;    public GameView(Context context) {        super(context);        mPaint = new Paint();        new Thread(this).start();    }    @Override    public void run() {        // 判读该线程是否中断        while(!Thread.currentThread().isInterrupted()) {            try {                Thread.sleep(100);            }            catch(Exception e) {                Thread.currentThread().interrupt();            }            // 使用postInvalidate可以直接在线程中更新界面            postInvalidate();        }    }    @Override    protected void onDraw(Canvas canvas) {        // 设置画布颜色        canvas.drawColor(Color.BLACK);        // 取消锯齿效果        mPaint.setAntiAlias(true);        // 设置裁剪区域        canvas.clipRect(10, 10, 280, 260);        // 锁定画布        canvas.save();        // 旋转画布        canvas.rotate(45.0f);        // 设置画笔颜色        mPaint.setColor(Color.RED);        // 画矩形        canvas.drawRect(new Rect(15, 15, 140, 70), mPaint);        // 解锁画布        canvas.restore();        // 设置画笔颜色        mPaint.setColor(Color.GREEN);        // 画矩形        canvas.drawRect(new Rect(150, 75, 260, 120), mPaint);    }}


原创粉丝点击