如何向图像添加元数据?

Con*_*vey 7 php metadata image

将元数据插入到图像文件中的位置以及标记的内容是什么?我想用PHP做到这一点.

小智 5

Php集成到图像中;)

http://bechtsoudis.com/archive/2011/09/08/php-code-into-jpeg-metadata-from-hide-to-unhide/index.html

JPEG,TIFF,PSD,Raw和其他几种文件格式可以包括以下任何或所有标准类型的元数据:

IPTC-IIM通常被称为"遗留"IPTC,这种模式是在20世纪90年代初开发的,主要是为了帮助新闻机构为早期数字图像提供字幕.它的主要优点是大多数图像编辑和管理程序可以读写其广泛兼容的领域.

IPTC核心与扩展这一较新的模式建立在IIM的基础上,增加了更多类型的描述性和管理信息,包括新的字段,以满足股票摄影和文化遗产社区的需求,以更强大的数据格式打包,"XMP. "

PLUS用于识别和定义图像使用许可的图片许可通用系统,描述了用于生成字符串的模式和工具,这些字符可以识别许可图像使用的版权所有者,用户,范围和条款.

XMP这是IPTC Core和Extension用于存储和访问图像元数据的较新数据格式.它支持在图像文件或附带的sidecar文件中存储元数据,并允许创建自定义元数据字段.

Exif这些元数据通常由相机和其他捕获设备创建,包括有关图像及其捕获方法的技术信息,如曝光设置,捕获时间,GPS位置信息和相机型号.

都柏林核心许多图像库和各种行业使用此模式将信息与图像文件存储在一起.它的一些领域可与IPTC格式互操作.


xar*_*g89 1

您可以选择更简单的替代方案,即使用exiftool命令行工具。

\n\n

为了使用它,我今天为个人项目编写了一个简单的 PHP 脚本,该脚本将写入纬度/经度信息(如果您已经在 PHP 变量中拥有它)。

\n\n

并且,非常重要的是,在之前的基础上添加 GPSLatitudeRef 和 GPSLongitudeRef 值的方法。基本上,如果纬度为正,则 GPSLatitudeRef 应具有“北”值,如果为负,则应具有“南”值。GPSLongitudeRef 是相同的,但正时为“东”,负时为“西”。

\n\n
$bashExifEdit = "";\n$longitudeRef = "East";\nif ($longitude < 0) {\n    $longitudeRef = "West";\n}\n$latitudeRef = "North";\nif ($latitude < 0) {\n    $latitudeRef = "South";\n}\n\nif ($sleepingPlace != null) {\n    $bashExifEdit .= "exiftool -GPSLongitude=\\"".$longitude."\\"  -GPSLatitude=\\"".$latitude.".\\" -GPSLatitudeRef=\\"$latitudeRef\\" -GPSLongitudeRef=\\"$longitudeRef\\"  images/your_image.jpg\\n";\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n

这将为每个图像生成一个字符串,其中包含结束符。如果你添加一个 for 那么你可以只写入 的内容$bashExifEdit,然后瞧\xc3\xa0!一种根据图像的纬度/经度自动设置所有 GPS 详细信息(海拔高度除外,与纬度/经度没有太大区别)的方法。

\n