解决方案 »

  1.   

    canvas.drawBitmap(bmp2, 0f, 0f, redPaint);只是设置了Paint和bmp2相关的事件,和canvas.drawBitmap(bmp1, 0f, 0f, null);没有关系的啊。
    目前我想到的实现是利用Canvas的clipPath来剪裁区域,至于是什么形状的,可以自己定义,显示的图片就是这个形状所圈住的区域。        //生命一个path并初始化中获取
            path = getSixShape(bmp.getWidth(), bmp.getHeight()); private Path getSixShape(int width, int height){//Path自己定义,显示的效果自己可以设计算法

    int bx = background.getWidth() / 4;
    int by = background.getHeight() / 2;

    Path path = new Path();
    path.moveTo(bx, 0);
    path.lineTo(bx * 3,  0);
    path.lineTo(background.getWidth(), by);
    path.lineTo(bx * 3, background.getHeight());
    path.lineTo(bx, background.getHeight());
    path.lineTo(0, by);
    path.moveTo(bx, 0);
    path.close();
    return path;
    } @Override
    protected void onDraw(Canvas canvas) {
    super.onDraw(canvas);
    canvas.clipPath(path);
    canvas.drawBitmap(bmp, 0, 0, paint);
    }
      

  2.   

    1楼的大神,你能帮我看下http://zhidao.baidu.com/question/305058812715853444.html 我在百度知道里提的相同问题,那个人他是怎么写出来的吗?我跟他写的一样了,却实现不出来