我的应用程序中有一个 ImageView,我还有一个按钮,上面写着“单击此处保存图片”。按钮应该做什么应该是不言自明的。它应该将 ImageView 保存在他们 SD 卡的新文件夹中。我到处寻找什么代码可以实现这一点。我发现了一些相似的,但它们对我不起作用。如果有人可以帮助我了解我需要做什么,或者如果他们知道哪些代码可以工作,那将对我有很大帮助。谢谢!
问问题
792 次
2 回答
0
这是您可以用来完成工作的工作流程:
- 单击按钮后,您会触发 onClick(View) (通过 XML 就可以了)
- onClick(View) 必须从 ImageView 中获取位图
- 此外,一旦你有了位图,你必须把它保存到 SDCARD
希望能有所帮助!
于 2012-07-13T21:40:42.627 回答
0
基本上,您需要Bitmap
从图像数据中获取结果,然后将其写入Bitmap
文件。根据您对放置在ImageView
...中的内容的访问级别
如果你有 raw 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()
它才能工作。
Once you have a Bitmap
, just use the compress()
method to write that image out to a file as a JPG or PNG.
于 2012-07-13T21:40:52.900 回答