【问题标题】:How to copy the IPTC data from one image to another?如何将 IPTC 数据从一张图像复制到另一张图像?
【发布时间】:2012-08-27 23:14:32
【问题描述】:

我正在开发一个图像处理器脚本来基本上调整图像大小。问题是当我制作调整大小的图像副本时,它也不会复制 IPTC 数据。所以我一直在检查 IPTC PHP 函数(iptcparse 和 iptcembed),但我很困惑。使用 iptcparse 非常简单。它将所有数据放入一个数组中,然后我使用 print_r 将其打印出来。但据说有用的一个是 iptcembed,因为它允许您(顾名思义)将 IPTC 嵌入到您的图像中。从 php.net 观看示例我不太明白。我是否必须手动创建数组才能将其嵌入到新图像中。我想有一种简单的方法可以复制一个图像 IPTC 的数据并将其嵌入到另一个图像中。

欢迎任何答案。 提前致谢。

【问题讨论】:

  • 您没有在新图像中获取 IPTC 数据的原因是因为调整大小的图像是从 PHP 的空白图像对象创建的,因此它不会继承旧图像的任何元信息。另请查看stackoverflow.com/questions/24456/…

标签: php metadata iptc


【解决方案1】:

我想,这很简单。要从旧图像中获取 iptc 数据,您只需使用 getimagesize 和 iptcparse 函数即可。

在 php.net 上你找到了这个例子来达到这个目的

<?php
$size = getimagesize('./test.jpg', $info);
if(isset($info['APP13']))
{
    $iptc = iptcparse($info['APP13']);
    var_dump($iptc);
}
?> 

将此示例与 iptcembed 方法结合使用,您将拥有所需的一切

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-05-21
    • 1970-01-01
    • 2023-04-03
    • 2019-04-22
    • 2011-01-29
    • 1970-01-01
    • 1970-01-01
    • 2019-10-18
    相关资源
    最近更新 更多