Android 如何将画布图形保存为图像?
在我的android应用程序中,我将图形保存为图像。我可以保存文件,但保存得不是100%完美,也就是说,一些内容丢失,空格也来了。下面是我通过onclick调用的函数。请帮助我如何保存完美的绘图 有关屏幕截图,请访问以下链接: , DigitalSignatureActivity.javaAndroid 如何将画布图形保存为图像?,android,image-processing,canvas,surfaceview,Android,Image Processing,Canvas,Surfaceview,在我的android应用程序中,我将图形保存为图像。我可以保存文件,但保存得不是100%完美,也就是说,一些内容丢失,空格也来了。下面是我通过onclick调用的函数。请帮助我如何保存完美的绘图 有关屏幕截图,请访问以下链接: , DigitalSignatureActivity.java private DrawingSurface drawingSurface; // To save file as Image public void saveDrawing(Vi
private DrawingSurface drawingSurface;
// To save file as Image
public void saveDrawing(View v) throws IOException {
File mediaStorageDir = new File(
Environment
.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES),
"MySignatures");
Bitmap nBitmap = drawingSurface.getBitmap();
try {
if (!mediaStorageDir.exists()) {
mediaStorageDir.mkdirs();
}
String timeStamp = new SimpleDateFormat("yyyyMMdd_HHmmss")
.format(new Date());
File mediaFile = new File(mediaStorageDir.getPath()
+ File.separator + "SIGN_" + timeStamp + ".png");
FileOutputStream out = new FileOutputStream(mediaFile);
nBitmap.compress(Bitmap.CompressFormat.PNG, 100, out);
out.flush();
out.close();
Toast.makeText(this, "Signature saved to " + mediaFile,
Toast.LENGTH_LONG).show();
} catch (Exception e) {
e.printStackTrace();
Toast.makeText(getApplicationContext(), "Not saved",
Toast.LENGTH_SHORT).show();
}
}
DrawingSurface.java
public class DrawingSurface extends SurfaceView implements SurfaceHolder.Callback {
//some code
}
我通过设置canvas.drawColor(Color.WHITE,PorterDuff.Mode.DARKEN)解决了这个问题;在DrawingSurface.java类中,我通过设置canvas.drawColor(Color.WHITE,PorterDuff.Mode.DARKEN)解决了这个问题;在DrawingSurface.java类中您所说的“某些内容丢失了”是什么意思?你能发布一个屏幕吗?@Waqas请访问以下屏幕链接:,你所说的“一些内容丢失了”是什么意思?你能发布屏幕吗?@Waqas请访问以下屏幕链接:,