Android 保存按钮-图片编码
我的应用程序中有一个ImageView,我还有一个按钮,上面写着“单击此处保存图片”。按钮的作用应该是不言自明的。它应该将ImageView保存在SD卡的一个新文件夹中。我到处都在寻找什么样的代码可以实现这一点。我发现了一些相似的,但它们对我不起作用。如果有人能帮助我理解我需要做什么,或者如果他们知道什么代码可以工作,这将对我有很大帮助。谢谢 以下是一个可以用来完成工作的工作流:Android 保存按钮-图片编码,android,image,save,Android,Image,Save,我的应用程序中有一个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找到它,我不会再收到任何错误,但我不确定它们是否成功保存。我不知道如何检查,因为我没有安卓手机,只有电脑模拟器,我试过了,但无法检查。谢谢你的帮助!