I have a View
and I want to convert it into an image in order to store it somewhere.
But how can I convert this View
to an image?
Asked
Active
Viewed 2.3k times
10

Jason Plank
- 2,336
- 5
- 31
- 40

James
- 13,891
- 26
- 68
- 93
2 Answers
9
Try this for take image of view and store in sd card..
View view = TextView.getRootView();
//You can use any view of your View instead of TextView
if (view != null)
{
System.out.println("view is not null.....");
view.setDrawingCacheEnabled(true);
view.buildDrawingCache();
Bitmap bm = view.getDrawingCache();
try
{
if (bm != null)
{
String dir = Environment.getExternalStorageDirectory().toString();
System.out.println("bm is not null.....");
OutputStream fos = null;
File file = new File(dir,"sample.JPEG");
fos = new FileOutputStream(file);
BufferedOutputStream bos = new BufferedOutputStream(fos);
bm.compress(Bitmap.CompressFormat.JPEG, 50, bos);
bos.flush();
bos.close();
}
}
catch(Exception e)
{
System.out.println("Error="+e);
e.printStackTrace();
}
}

Chad Bingham
- 32,650
- 19
- 86
- 115

Niranj Patel
- 32,980
- 10
- 97
- 133
5
Enable drawing cache on the view:
view.setDrawingCacheEnabled(true);
Create a bitmap from the cache:
bitmap = Bitmap.createBitmap(view.getDrawingCache());
Save the bitmap wherever...
Disable drawing cache:
view.setDrawingCacheEnabled(false);

Jason Plank
- 2,336
- 5
- 31
- 40

pumpkee
- 3,357
- 3
- 27
- 34
-
5I'm getting a **NullPointerException** for this code line `Bitmap bm = Bitmap.createBitmap(view.getDrawingCache());` What can be the reason ? – AnujAroshA Sep 06 '12 at 06:27