Вопрос

На нашем сайте мы получаем большое количество фотографий, загруженных из различных источников.

Чтобы уменьшить размеры файлов, мы удаляем все exif - данные из источника, используя могрифи:

mogrify -strip image.jpg

Что мы хотели бы иметь возможность сделать, так это вставить некоторые базовые данные exif (Copyright Initrode и т.д.) Обратно в это новое "чистое" изображение, но, похоже, я не могу найти в документах ничего, что позволило бы достичь этого.

Есть ли у кого-нибудь какой-нибудь опыт в этом?

Если это невозможно сделать с помощью imagemagick, решение на основе PHP было бы следующей лучшей вещью!

Спасибо.

Это было полезно?

Решение

Вы можете сэкономить большое количество места, особенно если у вас большое количество изображений..

Добавьте следующее в text.txt (формат тегов IPTC, взятых из здесь):

2#110#Credit="My Company"
2#05#Object Name="THE_OBJECT_NAME"
2#55#Date Created="2011-02-03 12:45"
2#80#By-line="BY-LINE?"
2#110#Credit="The CREDIT"
2#115#Source="SOURCE"
2#116#Copyright Notice="THE COPYRIGHT"
2#118#Contact="THE CONTACT"
2#120#Caption="AKA Title"

Удалите все существующие exif-данные с изображения

mogrify -strip image.jpg

Добавьте похвалу к вашему изображению

mogrify -profile 8BIMTEXT:text.txt image.jpg

Другие советы

Дополнительный инструмент похоже, это было бы точное совпадение для вас.

Я не пробовала, но сейчас у меня возникает соблазн пойти и исправить все фотографии моего медового месяца, которые помечены 01/01/2074, потому что я забыла сбросить дату после того, как сели батарейки.

Вот такой Библиотека PHP Exif это должно сделать то, что вам нужно.

Библиотека PHP Exif (PEL) позволяет вам полностью манипулировать данными Exif (взаимозаменяемый Формат файла изображения).Это данные, которые цифровые камеры помещают в свои изображения, такие как дата и время, выдержка, значение ISO и так далее далее.

Используя PEL, можно полностью модифицировать Данные Exif, что означает, что они могут быть как прочитаны, так и записаны.Полностью новый Exif данные также могут быть добавлены к изображениям.PEL полностью написан на PHP и не зависит ни от чего, кроме стандартного установка PHP, версии 5.PEL является размещенным на SourceForge.

в Linux есть программа под названием jhead.Он может добавить минимальный заголовок exif с помощью команды:

jhead -mkexif img.jpg

Я сомневаюсь, что вы получите много места, удалив информацию Exif...

В любом случае, я могу ошибаться, но метаданные Exif больше предназначены для хранения технической (и контекстуальной) информации.Для таких вещей, как авторское право, вам следует вместо этого использовать IPTC.

По-видимому, это то, что вы можете сделать с помощью ImageMagick: Запись данных IPTC в формат Jpeg с помощью ImageMagick.

Вы можете сделать это непосредственно в PHP, используя ПЭЛ библиотека.Вы могли бы сделать это, просто перезаписав существующие EXIF-заголовки,

// Load image data
$data = new PelDataWindow(file_get_contents('IMAGE PATH'));

// Prepare image data
$jpeg = $file = new PelJpeg();
$jpeg->load($data);

// Create new EXIF-headers, overwriting any existing ones (when writing to disk)
$exif = new PelExif();
$jpeg->setExif($exif);
$tiff = new PelTiff();
$exif->setTiff($tiff);

// Create Ifd-data that will hold EXIF-tags
$ifd0 = new PelIfd(PelIfd::IFD0);
$tiff->setIfd($ifd0);

// Create EXIF-data for copyright
$make = new PelEntryAscii(PelTag::COPYRIGHT, '2008-2017 Conroy');
$ifd0->addEntry($make);

// Add more EXIF-data...

// Save to disk
$file->saveFile('IMAGE.jpg');

Вы можете найти полный список всех поддерживаемых EXIF-данных (PelTag) в документах PEL.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top