i\'m developing an android app where I can draw on a canvas. I want to convert my canvas to bitmap and then save it in jpeg format on my sd card..
how can i properly do
Did you look up the documentation?
Canvas API
You can use the:
public Canvas (Bitmap bitmap)
Since: API Level 1
Construct a canvas with the specified bitmap to draw into. The bitmap must be mutable.
The initial target density of the canvas is the same as the given bitmap's density.
Parameters
bitmap Specifies a mutable bitmap for the canvas to draw into.
Something like that should work :
http://developer.android.com/reference/android/view/View.html#getDrawingCache(boolean)
public void toJPEGFile(){
File folder = new File(Environment.getExternalStorageDirectory()+"/folder/");
if(!folder.exists()) folder.mkdirs();
try {
this.setDrawingCacheEnabled(true);
FileOutputStream fos = new FileOutputStream(new File(Environment.getExternalStorageDirectory()+"/folder/file"));
Bitmap bitmap = this.getDrawingCache();
bitmap.compress(CompressFormat.JPEG, 100, fos);
fos.flush();
fos.close();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}