将Canvas位图与绘画一起保存到存储中。有什么建议吗?

时间:2018-11-04 16:59:34

标签: android canvas bitmap imageview storage

因此,我已经对该应用进行了编码,用户每次单击“添加检查点按钮”时,都可以在ImageView上添加标记。(请看屏幕截图)。添加更多标记将通过一条线连接这些标记。 图像是可缩放,可移动和可旋转的。

现在,我想保存图像的副本以及这些标记。分辨率必须与原始分辨率相同。我有以下这样做的,但它只保存用户可见的内容。隐藏的部分不会存储。

这是我的功能-

  private void saveFunction() {

  Bitmap bitmap = iv.getDrawingCache(true);

  BitmapDrawable drawable = (BitmapDrawable) iv.getDrawable();
    Bitmap newBitmap = drawable.getBitmap();*//*
    String path = Environment.getExternalStorageDirectory().getAbsolutePath();
    File file = new File(path + File.separator + "name" + ".png");
    Toast.makeText(getApplicationContext(), file.getAbsolutePath(), Toast.LENGTH_LONG).show();
    try {
        if (!file.exists())

        {
            file.createNewFile();
        }
        FileOutputStream ostream = new FileOutputStream(file);
        bitmap.compress(Bitmap.CompressFormat.PNG, 40, ostream);
        ostream.close();
        System.out.println("Rushi : saveFunction : saved");
    } catch (Exception e) {
        e.printStackTrace();
    }

}

This is when I drag the image out of the screen, only the visible part is stored in my device storage. I don't want that.

0 个答案:

没有答案