Canvas方法:
Canvas() 创建画布,可以用setBitmap()方法设置绘制具体画布
Canvas(Bitmap bitmap) 以bitmap对象创建一个画布,则将内容都绘制在bitmap上,所以bitmap不得为null
Canvas(GL gl) 绘制3D效果时使用,与OpenGL
drawColor 设置画布背景色
setBitmap 设置具体画布
clipRect 设置显示区域,即设置裁剪区
isOpaque 检测是否支持透明
rotate 旋转画布 在游戏中我们需要对精灵旋转,缩放或其它操作就可以通过旋转画布来实现,但在旋转画布时会旋转画布上
所以对象,而我们只需要旋转其中一个。这个时候我们就需要用save方法来锁定需要操作的对象,在操作后通过restore方法
来解锁。(例子有此方法的运用)
setViewport 设置画布中显示窗口
skew 设置便宜量
绘制几何图形的方法
drawRect 绘制矩形
drawCircle 绘制圆形
drawOval 绘制椭圆
drawLine 绘制直线
drawPoint 绘制点
public class CanvasView extends View implements Runnable{
private Paint paint ;
public ShapeDrawableView shapeDrawableView;
public CanvasView(Context context) {
super(context);
paint = new Paint();
shapeDrawableView= new ShapeDrawableView(context);//得到对象
new Thread(this).start();
}
public void onDraw(Canvas canvas){
super.onDraw(canvas);
canvas.drawColor(Color.BLACK);//设置画布颜色
paint.setAntiAlias(true);//取消抗锯齿效果
//canvas.clipRect(20,20,80,80);//设置裁剪区域
canvas.save();//锁定画布
//canvas.rotate(45.0f);//旋转画布
paint.setColor(Color.RED);//设置颜色及绘制矩形
canvas.drawRect(new Rect(10,10,80,80), paint);
canvas.restore();//解锁画布
paint.setStyle(Paint.Style.STROKE);{//设置为空心画笔
Rect rect = new Rect();
rect.left =85;
rect.bottom=80;
rect.right=150;
rect.top = 10;
paint.setColor(Color.BLUE);
canvas.drawRect(rect, paint);//绘制矩形
canvas.drawCircle(60,60,50,paint);//绘制圆形
RectF rectF = new RectF();//绘制椭圆
rectF.bottom=80;
rectF.left=160;
rectF.right= 300;
rectF.top = 10;
canvas.drawOval(rectF, paint);
Path path = new Path();//绘制多边形
path.moveTo(10, 90);
path.lineTo(80, 100);