For my application, i have used pinch zoom feature by adapting from the tutorial and creating a custom view http://www.zdnet.com/blog/burnette/how-to-use-multi-touch-in-android-2-part-6-implementing-the-pinch-zoom-gesture/1847
Right now i’m working on capturing the zoomed image as bitmap.
Partially I was able to get the bitmap by making use of
setDrawingCacheEnabled(true);
Bitmap bm = Bitmap.createBitmap(finalView.getDrawingCache());
setDrawingCacheEnabled(false);
Using this approach, I’m getting both the zoomed image and the screen background.
Is there any way to capture only the zoomed image as a bitmap?
After having searched a lot, I found a ‘Temporary’ solution in the same Community & also thanks for the code from ‘weakwire’ provided in the same post.
Getting coordinates and width/height from a matrix
Idea is simple, all i have do is remove the background screen from the scaled image by cropping. Code is bit lengthy, but worked for me.
First get the Original Bitmap size
Obtain the matrix ( pinch zoom feature used in my application uses matrix ‘trick’) values, used to scale the image and get the scaledWidth & scaledHeight of the original image.
Finally capture the View and crop the background
In my case (“finalView” is the custom View name, where pinch zooming happens)
// crop to get the scaled image
Though this is a temporary solution, it works for me. If there is any alternate solution, please post it.