1

私のAndroidアプリでは、図面を画像として保存しています。ファイルを保存することはできますが、100%完全に保存されていません。つまり、一部のコンテンツにスペースがありません。以下の関数は、onclickで呼び出しています。スクリーンショットの完璧な描画を保存する方法を教えてください: http ://www.flickr.com/photos/77093196@N03/7066979339、http : //www.flickr.com/photos/77093196@N03/ 7066979341

DigitalSignatureActivity.java

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
}
4

1 に答える 1

1

私はcanvas.drawColor(Color.WHITE、PorterDuff.Mode.DARKEN);を設定することで解決しました。DrawingSurface.javaクラスで

于 2012-04-12T11:00:26.823 に答える