La manera más fácil que conozco es usar el procesamiento del modo XFer del paquete Graphics. La función a continuación corta la región desde (30,30) hasta (100,100) a la imagen de 320x480 cargada desde los recursos. Adaptar las coordenadas para cambiar dinámicamente:
private Bitmap cropBitmap1() {
Bitmap bmp2 = BitmapFactory.decodeResource(this.getResources(), R.drawable.image1);
Bitmap bmOverlay = Bitmap.createBitmap(320, 480, Bitmap.Config.ARGB_8888);
Paint paint = new Paint();
paint.setXfermode(new PorterDuffXfermode(Mode.CLEAR));
Canvas canvas = new Canvas(bmOverlay);
canvas.drawBitmap(bmp2, 0, 0, null);
canvas.drawRect(30, 30, 100, 100, paint);
return bmOverlay;
}
@ Bill-the-Lizard: Esta no es una pregunta duplicada. – Bhoot