canvas 当创建一个canvas对象的时候,传入一个bitmap new canvas(bitmap) [这个bitmap就相当于画布了],这个bitmap可以用来存贮所有绘制在canvas上的像素信息,通过这种方式创建的canvas对象,后面在调用canvas画图就都发生在这个bitmap上了
demo:
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
Resources res = getResources();
/**
* 直接从drawable里面decodeResource的图片 不能被修改
*/
Bitmap bitmap = BitmapFactory.decodeResource(res, R.drawable.cat).copy(Bitmap.Config.ARGB_8888, true);
canvas.drawBitmap(bitmap, 0, 0, null);
Canvas xxcanvas = new Canvas(bitmap);
Paint paint = new Paint(Color.BLUE);
paint.setStyle(Paint.Style.STROKE);
paint.setStrokeWidth(10);
/**
* 最终作用在bitmap
*/
xxcanvas.drawCircle(getWidth() / 2, getHeight() / 2, 100, paint);
}