我的应用程序中有一个ImageView,我还有一个按钮,上面写着“点击此处保存图片”。该按钮应该做什么应该是自我解释。它应该将ImageView保存在SD卡的新文件夹中。我到处都看到了什么代码可以实现这一目标。我发现了一些类似的东西,但它们对我不起作用。如果有人能帮我理解我需要做什么,或者他们知道什么代码可以工作,那对我来说会有很大的帮助。谢谢!
答案 0 :(得分:0)
以下是您可以用来完成工作的工作流程:
希望有所帮助!
答案 1 :(得分:0)
基本上,您需要从图像数据中获取结果Bitmap
,然后将Bitmap
写入文件。取决于您对ImageView
...
如果你有原始Bitmap
,那就完成了。
如果图片位于资源中,请使用BitmapFactory.decodeResource()
获取一个
如果您有Drawable
内容,请将其绘制为新的Bitmap
,如下所示:
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()
获取Bitmap
可见内容。您需要致电setDrawingCacheEnabled()
才能实现此目的。
获得Bitmap
后,只需使用compress()
方法将该图像作为JPG或PNG写入文件。