android - 如何将 ImageView 另存为图像?

标签 android save imageview photo

我有一个带有共享 Intent 的 ImageView(效果很好,可以调出我可以与之共享图像的所有应用程序),但是,我无法共享照片,因为它在我的手机上没有路径。如何将 ImageView 保存到我的手机上?下面是我的代码。

 public void taptoshare(View v)
{  
    View content = findViewById(R.id.myimage);
    content.setDrawingCacheEnabled(true);
        Bitmap bitmap = content.getDrawingCache();
        File file = new File("/DCIM/Camera/image.jpg");
        try 
        {
            file.createNewFile();
            FileOutputStream ostream = new FileOutputStream(file);
            bitmap.compress(CompressFormat.JPEG, 100, ostream);
            ostream.close();
        } 
        catch (Exception e) 
        {
            e.printStackTrace();
        }


    Intent shareIntent = new Intent(Intent.ACTION_SEND);
    Uri phototUri = Uri.parse("/DCIM/Camera/image.jpg");
    shareIntent.setData(phototUri);
    shareIntent.setType("image/*");
    shareIntent.putExtra(Intent.EXTRA_STREAM, phototUri);
    startActivity(Intent.createChooser(shareIntent, "Share Via"));

}   
}

更新 好的,所以我想通了。现在我有一个新问题,如何将此图像保存到新文件夹?

最佳答案

保存和加载时,需要先获取系统的根路径。我就是这样做的。

File root = Environment.getExternalStorageDirectory();
File cachePath = new File(root.getAbsolutePath() + "/DCIM/Camera/image.jpg");

关于android - 如何将 ImageView 另存为图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8262598/

相关文章:

android - 带有 Agora Flutter 的视频通话接受屏幕

java - Android 上未安装应用程序的应用程序链接

android - 如何在 Android 中获取片上系统信息(Samsung Exynos、Nvidia Tegra 等)?

MATLAB - 警告 : Variable 'vol' cannot be saved to a MAT-file whose version is older than 7. 3?

android - 如何在 Android 上监听复杂图片的 onClick 事件

android - 在通知中显示进度

android - 如何在 android libgdx 上保存和读取整数?

android - match_parent 高度内的 ImageView 居中图像

java - 如何在游戏中实现拖放?

backbone.js - backbonejs + cors 和 save() 方法