加载图像到 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 路径。
我正在尝试将硬编码图像加载到 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 路径。