Android 保存按钮-图片编码

Android 保存按钮-图片编码,android,image,save,Android,Image,Save,我的应用程序中有一个ImageView,我还有一个按钮,上面写着“单击此处保存图片”。按钮的作用应该是不言自明的。它应该将ImageView保存在SD卡的一个新文件夹中。我到处都在寻找什么样的代码可以实现这一点。我发现了一些相似的,但它们对我不起作用。如果有人能帮助我理解我需要做什么,或者如果他们知道什么代码可以工作,这将对我有很大帮助。谢谢 以下是一个可以用来完成工作的工作流: 单击按钮后,您将触发onClick(视图)(通过XML即可) onClick(视图)必须 此外,一旦你有了位图 希望

我的应用程序中有一个ImageView,我还有一个按钮,上面写着“单击此处保存图片”。按钮的作用应该是不言自明的。它应该将ImageView保存在SD卡的一个新文件夹中。我到处都在寻找什么样的代码可以实现这一点。我发现了一些相似的,但它们对我不起作用。如果有人能帮助我理解我需要做什么,或者如果他们知道什么代码可以工作,这将对我有很大帮助。谢谢

以下是一个可以用来完成工作的工作流:

  • 单击按钮后,您将触发onClick(视图)(通过XML即可)
  • onClick(视图)必须
  • 此外,一旦你有了位图

  • 希望这有点帮助

    基本上,您需要从图像数据中获得一个生成的
    位图
    ,然后将该
    位图
    写入文件。取决于您对放置在
    ImageView
    中的内容的访问级别

    如果您有原始的
    位图
    ,那么就完成了

    如果图像位于资源中,请使用
    BitmapFactory.decodeResource()
    获取一个

    如果您有内容的
    可绘制
    ,请将其绘制到新的
    位图
    中,如下所示:

    Bitmap bmp = Bitmap.createBitmap(drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight(), Config.ARGB_8888);
    Canvas canvas = new Canvas(bmp); 
    drawable.setBounds(0, 0, canvas.getWidth(), canvas.getHeight());
    drawable.draw(canvas);
    
    如果您无法访问图像内容,请使用
    ImageView.getDrawingCache()
    获取可见内容的
    位图。您需要调用
    setDrawingCacheEnabled()
    才能使其工作



    一旦你有了
    位图
    ,只需使用
    compress()
    方法将该图像以JPG或PNG格式写入文件。

    我想我可以通过你的链接ninetwozero找到它,我不会再收到任何错误,但我不确定它们是否成功保存。我不知道如何检查,因为我没有安卓手机,只有电脑模拟器,我试过了,但无法检查。谢谢你的帮助!