加载图像到 ExifInterface

Load image into ExifInterface

我正在尝试将硬编码图像加载到 android ExifInterface 中,但它似乎无法找到它。这就是我正在尝试的:

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

图像位于 res/images 目录中。我需要做些什么才能 android 拿起它吗?

首先,res/通常是指资源。这些不仅作为文件存在于你的开发机器上,而且你不能发明新的资源目录,而且 Android.

中没有任何名为 res/images/ 的东西

其次,ExifInterface 只从文件系统中加载文件,而不是资源。毕竟,开发人员想要在资源上使用 ExifInterface 是完全没有意义的。资源是read-only,所以不能用ExifInterface修改资源中的EXIF headers。开发人员不会浪费用户的时间 CPU 和电池读取 read-only 图像文件来提取元数据,而是提前这样做,将数据放在其他地方,例如字符串或整数资源.

第三,ExifInterface 需要文件系统上文件的 fully-qualified 路径。因此,即使您在 images/ 目录中的文件系统某处有一个文件(例如,使用 getFilesDir() 作为基础创建),您也需要提供该文件的 fully-qualified 路径。