Как скопировать данные IPTC с одного изображения на другое?
Я разрабатываю скрипт процессора изображений, чтобы в основном изменить размеры изображений. Проблема в том, что когда я делаю копию изображения с измененным размером, он также не копирует данные IPTC. Итак, я проверял функции IPTC PHP (iptcparse и iptcembed), но я в замешательстве. Использовать iptcparse очень просто. Он получает все данные в массив, а затем я распечатываю их с помощью print_r. Но якобы полезный - iptcembed, потому что он позволяет (как следует из названия) вставлять IPTC в ваши изображения. Смотря пример с php.net я не совсем понял. Нужно ли создавать свой массив вручную, чтобы встроить его в новое изображение. Я думаю, что есть простой способ просто скопировать данные 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, и у вас есть все, что вам нужно