public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final ImageView pre = (ImageView) findViewById(R.id.iv_pre);
Bitmap preBitmap = BitmapFactory.decodeResource(getResources(),
R.drawable.pre2);
final Bitmap copypre = Bitmap.createBitmap(preBitmap.getWidth(),
preBitmap.getHeight(), preBitmap.getConfig());
Canvas canvas = new Canvas(copypre);
Matrix matrix = new Matrix();
final Paint paint = new Paint();
canvas.drawBitmap(preBitmap, matrix, paint);
pre.setImageBitmap(copypre);
pre.setOnTouchListener(new OnTouchListener() {
int downX;
int downY;
int moveY;
int moveX;
@Override
public boolean onTouch(View v, MotionEvent event) {
// TODO Auto-generated method stub
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
downX = (int) event.getX();
downY = (int) event.getY();
for (int i = -20; i < 21; i++) {
for (int j = -20; j < 21; j++) {
if ((Math.sqrt(i * i + j * j)) < 20) {
if (downX + i >= 0
&& downX + i < copypre.getWidth()
&& downY + j >= 0
&& downY + j < copypre.getHeight()) {
copypre.setPixel(downX + i, downY + j,
Color.TRANSPARENT);
pre.setImageBitmap(copypre);
}
}
}
}
break;
case MotionEvent.ACTION_MOVE:
moveX = (int) event.getX();
moveY = (int) event.getY();
for (int i = -20; i < 21; i++) {
for (int j = -20; j < 21; j++) {
if ((Math.sqrt(i * i + j * j)) < 20) {
if (moveX + i >= 0
&& moveX + i < copypre.getWidth()
&& moveY + j >= 0
&& moveY + j < copypre.getHeight()) {
copypre.setPixel(moveX + i, moveY + j,
Color.TRANSPARENT);
pre.setImageBitmap(copypre);
}
}
}
}
break;
}
return true;
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}