android canvas

来源:互联网 发布:面对困难迎难而上 知乎 编辑:程序博客网 时间:2024/05/02 01:51

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);
    }