Hi, Suresh!
I'll tell a bit of my experience with your problem, ok?
PROBLEM 1 - CLIPPING AN IMAGE
To do it I use Bitmap class because it can be drawn by Canvas in parts using this method from Canvas class:
Using java Syntax Highlighting
drawBitmap (Bitmap bitmap, Rect src, Rect dst, Paint paint)
Parsed in 0.030 seconds, using
GeSHi 1.0.8.4
The first argument is clear, you will put your bitmap object.
The second one (src) you will put a Rectangle to tell the clip area on your bitmap.
The third one (dst) you will put a Rectangle to tell WHERE your bitmap location on the screen AND your bitmap width and height.
The last one you can put null, if a
Paint object is not needed for you.
PROBLEM 2 - 'BUTTON' CLICK
You will simulate a button using an image, right? I prefer use a Rectangle to know whether user has been touched the button.
I most common cases the Rectangle will have the same width, height and location of your image. You don't need to paint it, it will be there

. You are using
Using java Syntax Highlighting
public boolean onTouchEvent(MotionEvent event)
Parsed in 0.029 seconds, using
GeSHi 1.0.8.4
method, right? When a touch is done, you verify if the user has touched your button this way:
Using java Syntax Highlighting
if(buttonRect.contains((int)event.getX(), (int)event.getY()){
//do the action
}
Parsed in 0.034 seconds, using
GeSHi 1.0.8.4
I hope I was usefull.
Regards,
André Leitão