package com.tang.gril;
import java.io.InputStream;
import android.app.Activity;
import android.app.ActionBar;
import android.app.Fragment;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.BitmapFactory.Options;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Matrix;
import android.graphics.Paint;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnTouchListener;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.os.Build;
public class MainActivity extends Activity {
private ImageView before;
private ImageView after;
private Canvas canvas;
private Bitmap alterMap;
private Paint paint;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
before = (ImageView) findViewById(R.id.before);
System.out.println(before);
after = (ImageView) findViewById(R.id.after);
BitmapFactory.Options opts = new Options();
opts.inSampleSize = 2;
//InputStream is = getResources().openRawResource(R.drawable.ic_launcher);
//Bitmap beforeMap = BitmapFactory.decodeStream(is);
Bitmap beforeMap = BitmapFactory.decodeResource(getResources(), R.drawable.before, opts);
Bitmap afterMap = BitmapFactory.decodeResource(getResources(), R.drawable.after, opts);
alterMap = Bitmap.createBitmap(beforeMap.getWidth(), beforeMap.getHeight(), beforeMap.getConfig());
paint = new Paint();
paint.setStrokeWidth(5);
paint.setColor(Color.BLACK);
canvas = new Canvas(alterMap);
canvas.drawBitmap(beforeMap, new Matrix(), paint);
before.setImageBitmap(beforeMap);
after.setImageBitmap(afterMap);
before.setOnTouchListener(new OnTouchListener() {
public boolean onTouch(View view, 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=-50; i<50; i++) {
for (int j=-50; j<50; j++) {
alterMap.setPixel(newX+i, newY+j, Color.TRANSPARENT);
}
}
before.setImageBitmap(alterMap);
break;
}
return true;
}
});
}
}
转载于:https://my.oschina.net/u/729139/blog/476395