I created canvas that can be used to draw some shapes on it. How can I save its content to PNG file on user's SD card?
check out this link this link In this link you can find the method
void saveImage() {
try {
String filename = Environment.getExternalStorageDirectory().toString();
File f = new File(filename ,"myImage.png");
f.createNewFile();
System.out.println("file created " + f.toString());
FileOutputStream out = new FileOutputStream(f);
Bitmap bitmap = showImage(urlStr);
bitmap.compress(Bitmap.CompressFormat.PNG, 90, out);
} catch (Exception e) {
e.printStackTrace();
}
}
which is used to save the image that you got into a bitmap. and check this link for getting bitmap from canvas
hope this helps you.
Happy coding
Canvas is just a means to draw to the Bitmap.
You should have created Canvas with new Canvas(myBitmap);
. So when you draw on the Canvas, it draws to your bitmap.
so using myBitmap
Do the following (code here:
String fileName = Environment.getExternalStorageDirectory() + "/test.png";
OutputStream stream = new FileOutputStream(fileName);
/* Write bitmap to file using JPEG or PNG and 80% quality hint for JPEG. */
myBitmap.compress(CompressFormat.PNG, 80, stream);
stream.close();
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With