【发布时间】:2020-07-07 00:19:23
【问题描述】:
大家好,我在 php 中阅读文档以使用 imagick,我想将元数据添加到不包含元数据的图像中。所以我决定导入名为image.png 的图像,添加元数据并重写名为new.png 的图像
这是代码
$image = new Imagick("path/to/image/image.png");
$image->setImageProperty('Exif:Make', 'Imagick2');
$image->writeimage("path/to/image/app/new.png");
var_dump($image->getImageProperty('Exif:Make'));
我看到生成的新图像和 var_dump() 显示:string(8) "Imagick2"
但是使用 http://metapicz.com/ 我没有元数据
我的代码是否存在问题或网站不可靠?如何确定我插入了元数据?
提前致谢。
【问题讨论】:
-
请查看docs 上的评论。这取决于文件类型。
-
我已经阅读了这个文档,我把类似的代码放在了顶部,但我不确定元数据没有被导入,因为使用 metapicz.com 我没有看到元数据被导入
-
我提到了对文档的评论,而不是文档本身。
-
感谢@MarkusZeller,这里是评论:“请注意,如果文件是 JPEG,则只有 'comment' 值写入文件。这意味着任何其他数据,例如 GPS 数据或 Exif 数据可以'修改',但不会写入文件。这可能会在未来改变,但在 2 年内不会改变。” .
-
哦,这很有趣,我创建了一个用于读取 PNG 元数据的存储库,但我没有想到写入其中的可能性。 github.com/joserick/PNGMetadata