Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Imagick没有';不要在PHP中添加元数据_Php_Metadata_Imagick - Fatal编程技术网

Imagick没有';不要在PHP中添加元数据

Imagick没有';不要在PHP中添加元数据,php,metadata,imagick,Php,Metadata,Imagick,大家好,我在php中阅读了doc以使用imagick,我想向不包含元数据的图像添加元数据。所以我决定导入名为image.png的图像,添加元数据并重写名为new.png 这是代码 $image = new Imagick("path/to/image/image.png"); $image->setImageProperty('Exif:Make', 'Imagick2'); $image->writeimage("path/to/image/app/n

大家好,我在php中阅读了doc以使用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”

但是使用我没有元数据

我的代码是否有问题或网站不可靠?如何确保已插入元数据


提前感谢。

问题是您正在将EXIF数据写入PNG文件。大多数软件对PNG元数据的支持都很差,直到几年前(2016/17?),EXIF数据还不是PNG规范的一部分

ImageMagick(以及ExifTool和Exiv2)有一种将EXIF数据嵌入PNG文件的非标准方法,但这些程序之外几乎没有任何软件支持它。Exiftool支持新标准,但我不确定其他两个是否支持

我在你链接的网站上做了一个快速测试,它根本无法读取PNG文件中的大部分元数据。我的测试文件有1400多个嵌入的元数据标签,metapicz.com网站只找到了
IPTC:CopyrightNotice


您可以尝试检查元数据。它在后端使用ExifTool,将提供更好的结果。

问题在于您正在将EXIF数据写入PNG文件。大多数软件对PNG元数据的支持都很差,直到几年前(2016/17?),EXIF数据还不是PNG规范的一部分

ImageMagick(以及ExifTool和Exiv2)有一种将EXIF数据嵌入PNG文件的非标准方法,但这些程序之外几乎没有任何软件支持它。Exiftool支持新标准,但我不确定其他两个是否支持

我在你链接的网站上做了一个快速测试,它根本无法读取PNG文件中的大部分元数据。我的测试文件有1400多个嵌入的元数据标签,metapicz.com网站只找到了
IPTC:CopyrightNotice


您可以尝试检查元数据。它在后端使用ExifTool,将提供更好的结果。

请查看网站上的评论。这取决于文件类型。我已经阅读了此文档,我在顶部放置了类似的代码,但我不确定元数据是否导入,因为使用我看不到元数据导入。我提到的是文档上的注释,而不是文档本身。谢谢@MarkusZeller这里是,注释:“请注意,如果文件是JPEG格式,则仅将“注释”值写入文件。这意味着可以“修改”任何其他数据,如GPS数据或Exif数据,但不会写入文件。这在未来可能会改变,但两年内不会改变。“.哦,这很有趣,我创建了一个用于读取PNG元数据的存储库,但我没有想到在其中写入元数据的可能性。请看一下报纸上的评论。这取决于文件类型。我已经阅读了此文档,我在顶部放置了类似的代码,但我不确定元数据是否导入,因为使用我看不到元数据导入。我提到的是文档上的注释,而不是文档本身。谢谢@MarkusZeller这里是,注释:“请注意,如果文件是JPEG格式,则仅将“注释”值写入文件。这意味着可以“修改”任何其他数据,如GPS数据或Exif数据,但不会写入文件。这在未来可能会改变,但两年内不会改变。”。哦,这很有趣,我为PNG的读取元数据创建了一个存储库,但我没有想到用它们进行写入。谢谢你,我找到了我使用exif工具寻找的内容:
exiftool-PoseHeadingDegrees=“0“myfile.jpg
谢谢我找到了我用exif工具寻找的东西:
exiftool-PoseHeadingDegrees=“0”myfile.jpg