You can use this solution, but I think it's gonna give you only a Bitmap of displayed images :
Bitmap b = Bitmap.createBitmap(mGridView.getDrawingCache());
if you have an issue with this and can't get a bitmap, try this :
mGridView.setDrawingCacheEnabled(true);
// Without it the view will have a dimension of 0,0 and the bitmap will be null
mGridView.measure(MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED),
MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED));
mGridView.layout(0, 0, v.getMeasuredWidth(), v.getMeasuredHeight());
mGridView.buildDrawingCache(true);
Bitmap b = Bitmap.createBitmap(mGridView.getDrawingCache());
mGridView.setDrawingCacheEnabled(false); // clear drawing cache
otherwise, if you want all your images from your "Adapter" you can construct you Bitmap like describe in this answer :
https://stackoverflow.com/a/15152221/1686472
EDIT : I didn't see you wanted to save the image on SD card, there is plenty of answer about that so you should take a look at them :