android撕衣服为什么涂的时候不是透明而是黑色

public class MainActivity extends ActionBarActivity {
private ImageView iv;
private Bitmap srcbmp;
private Bitmap alterBmp;
private Canvas canvas;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    iv = (ImageView) findViewById(R.id.iv);
    srcbmp = BitmapFactory.decodeResource(getResources(), R.drawable.pre);
    alterBmp = Bitmap.createBitmap(srcbmp.getWidth(), srcbmp.getHeight(), srcbmp.getConfig());
    canvas = new Canvas(alterBmp);
    Paint paint = new Paint();
    paint.setColor(Color.BLACK);
    Matrix matrix = new Matrix();
    canvas.drawBitmap(srcbmp, matrix, paint);
    iv.setImageBitmap(alterBmp);

    iv.setOnTouchListener(new OnTouchListener() {

        @Override
        public boolean onTouch(View v, MotionEvent event) {
            switch (event.getAction()) {
            case MotionEvent.ACTION_DOWN:

                break;
            case MotionEvent.ACTION_MOVE:
                // event.getRawX(); 离屏幕的距离
                int x = (int) event.getX();
                int y = (int) event.getY();
                System.out.println("设置(" + x + "," + y + ")为透明");
                for (int i = -4; i < 5; i++) {
                    for (int j = -4; j < 5; j++) {
                        try {
                            alterBmp.setPixel(x + i, y + j, 0);
                        } catch (Exception e) {
                            e.printStackTrace();
                        }
                    }
                }
                iv.setImageBitmap(alterBmp);
                break;
            case MotionEvent.ACTION_UP:
                // MediaPlayer.create(getApplicationContext(), R.raw.higirl
                // ).start();
                break;

            }
            return true; // 可以重复循环的处理事件
        }
    });

}

}

图片说明

初学者,请各位高手指点。谢啦

这个黄色想法的代码原理没搞清。估计是荷尔蒙冲量太大,忘记了要实现此功能,这图片是要有分层的,而且代码也不会这么简单。
现在用的是普通图片,只能展现某块区域的像素被删除。

你设置的画笔paint 颜色为黑色 和背景颜色不一样,你要达到类似通明的感觉,你得将背景和画笔的颜色弄清楚

还有就是 你就一张图片是弄不出 这个功能的, 这种撕衣服的功能,最低层还是有一张 ××的图片,你删掉的只是上层的衣服而已

paint.setColor(Color.BLACK);
换成
paint.setColor(Color.TRANSPARENT);
试试

醉了,这个东西。直接覆盖透明应该也没用吧,

1.原封不动的复制了楼主的代码。
实测结果是透明。

2.不知道为什么楼主的结果是黑色。
楼主用 bitmap.getConfig()检查下图片是不是#ARGB 的吧。

3.或者用这上传的图片试试?
![本地实测可以的图片-after
![本地实测可以的图片-pre