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