我可以将图片保存为android中的可绘制文件吗?

问题描述:

我的应用程序从相机拍摄照片,并在一些图像处理操作后,我想在android中保存它的可绘制文件。有可能的 ?我可以将图片保存为android中的可绘制文件吗?

+0

你是指可绘制文件的含义? Drawable是一个保存图像的对象类型,我不相信这是一种文件格式。你想将它保存为.jpg,.png,.bmp吗? – FoamyGuy 2011-05-12 16:29:16

+0

@tim在android项目中drawable-hdpi文件在res下。我们在此下粘贴图像。我可以将从相机拍摄的JPG保存到可绘制的 – barzos 2011-05-12 16:36:28

不,你不能。

您可以将它存储到内部存储器中。见链接的详细信息:

http://developer.android.com/guide/topics/data/data-storage.html#filesInternal

+0

这个文件在哪里创建?我可以看到它们,或者是虚拟创建的吗? – barzos 2011-05-12 17:13:32

+0

@barzos它会使用你的应用程序数据文件夹。你可以将它保存为PNG或任何你想要的格式。您可以在应用程序中读取/写入该文件夹。或者,您可以将图像保存到SD卡(读取相同的链接,外部存储) – Aleadam 2011-05-12 17:18:08

+0

但我希望在我的窗口中看到新保存的图像,以查看新旧图像之间的变化。可能吗? – barzos 2011-05-12 18:08:08

为什么你需要它是你的应用程序的资源?您可以使用Bitmap.compress(CompressFormat.PNG,100,fileoutputStream)将它保存到SD卡或内部存储器;

,其中从像获得FileOutputStream中:

String pathString = String.format("%s/%s/%s", Environment.getExternalStorageDirectory(),yourDirOnSD, yourFilename); 
     File path = new File(pathString); 
     path.mkdirs(); 

然后读出来,当你想使用BitmapFactory.decodeFromFile在();

请注意,如果您在SD上使用的目录以句点开头,则它将免除Android媒体扫描程序的扫描,因此其中的项目不会显示在用户照片库应用程序等中。如果您想照片为其他应用程序可见,你应该看看使用MediaScanner它保存索引你的图片,否则它不会显示,直到SD卡的身份证重新安装。