ImageView after; ImageView before; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); after = (ImageView) findViewById(R.id.after); before= (ImageView) findViewById(R.id.before); Options options = new Options();// options.inSampleSize = 2; Bitmap afterMap = BitmapFactory.decodeResource(getResources(), R.drawable.g7_back,options ); Bitmap beforeMap = BitmapFactory.decodeResource(getResources(), R.drawable.g7_up,options); //能够改动的bitmap final Bitmap alterMap = Bitmap.createBitmap(600, 600, beforeMap.getConfig()); //创建画布 final Canvas canvas = new Canvas(alterMap); //创建画笔 final Paint paint = new Paint(); paint.setColor(Color.BLACK); paint.setStrokeWidth(5); canvas.drawBitmap(beforeMap, new Matrix(), paint); after.setImageBitmap(afterMap); before.setImageBitmap(beforeMap); before.setOnTouchListener(new OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { switch (event.getAction()) { case MotionEvent.ACTION_DOWN: break; case MotionEvent.ACTION_MOVE: int newX = (int) event.getX(); int newY = (int) event.getY(); for(int i=-8;i<8;i++){ for(int j=-8;j<8;j++) alterMap.setPixel(i+newX, j+newY, Color.TRANSPARENT); } before.setImageBitmap(alterMap); break; case MotionEvent.ACTION_UP: break; default: break; } return true; } }); }