0

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

4

2 回答 2

0

这是您可以用来完成工作的工作流程:

  1. 单击按钮后,您会触发 onClick(View) (通过 XML 就可以了)
  2. onClick(View) 必须从 ImageView 中获取位图
  3. 此外,一旦你有了位图,你必须把它保存到 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 回答