我创建了可用于在其上绘制一些形状的画布。 如何将其内容保存到用户SD卡上的PNG文件中?
答案 0 :(得分:6)
查看此链接this link 在此链接中,您可以找到方法
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();
}
}
用于保存您进入位图的图像。并检查this link是否从画布获取位图
希望这会对你有所帮助。
快乐编码
答案 1 :(得分:1)
Canvas只是一种绘制到Bitmap的方法。
您应该使用new Canvas(myBitmap);
创建Canvas。因此,当您在Canvas上绘制时,它会绘制到您的位图。
所以使用myBitmap
执行以下操作(代码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();