将图像加载到ExifInterface中

时间:2015-04-17 11:08:24

标签: android exif

我试图将硬编码图像加载到Android ExifInterface中,但它似乎无法找到它。这就是我想要的:

ExifInterface mExif = new ExifInterface("images/IMG_20150411_194725.jpg");

图像位于res / images目录中。有什么我需要做的东西让Android拿起来吗?

1 个答案:

答案 0 :(得分:1)

首先,res/通常是指资源。它们不仅仅作为开发机器上的文件存在,而且您无法创建新的资源目录,并且Android中没有任何名为res/images/的内容。

其次,ExifInterface仅从文件系统加载文件,而不是资源。毕竟,开发人员想要在资源上使用ExifInterface是完全没有意义的。资源是只读的,因此您无法使用ExifInterface修改资源中的EXIF标头。而不是浪费用户'在只读图像文件中读取时间,CPU和电池以提取元数据,开发人员会提前做到这一点,将这些数据放在其他地方,例如字符串或整数资源。

第三,ExifInterface需要文件系统上文件的完全限定路径。因此,即使文件系统中某个文件位于images/目录中(例如,使用getFilesDir()作为基础创建),您也需要提供该文件的完全限定路径。