Archive for the ‘IPTCInfo’ Category

Выставляем и получаем атрибуты

Wednesday, July 4th, 2007

Если с ключивыми словам все более менее понятно , то остается вопрос что делать с такими вещами как автор, заголовок и описание. все это содержится внутри атрибутов.

# чтение
$info = new Image::IPTCInfo($img);
$attribute = $info->Attribute('attribute_name');

# запись
$info = create Image::IPTCInfo($img);
$info->SetAttribute('attribute_name', $attribute);
$info->Save();

и вот таблица атрибутов (’attribute_name’) которое точно определяются в фотошопе скажем

  • caption/abstract - описание
  • by-line - автор
  • object name - имя фотографии

Экспорт IPTC в XML

Thursday, June 14th, 2007

Удобная готовая функция экспорта IPTC даты

$info = create Image::IPTCInfo($img);
$xml = $info->ExportXML('foto', \%extra-data);
print $xml;

получим

<foto>
	<keywords>
		<keyword>one</keyword>
		<keyword>two</keyword>
		<keyword>tree</keyword>
	</keywords>
</foto>

если же надо записать в файл то можно сделать это сразу же

$info->ExportXML('foto', \%extra-data, file_name.xml);

Ключевые слова

Friday, June 8th, 2007

сначала посмотрим какие Ключевые слова (Keywords) у нас есть

#!/usr/bin/perl

use Image::IPTCInfo;

$info = create Image::IPTCInfo("php/6463.jpg");
print ($info->Keywords());

теперь уберем их

$info->ClearKeywords();

и внесем новые

$info->AddKeyword(['one', 'two', 'tree']);

и сохраним

$info->Save();

IPTCInfo

Friday, June 8th, 2007

Для начала, к ITPC можно обратиться

#!/usr/bin/perl

use Image::IPTCInfo;

$info = create Image::IPTCInfo("/img/a.jpg");

или

$info = new Image::IPTCInfo("/img/a.jpg");

В чем разница между create и new? В том что если create то вы можете и читать и изменять данные, с new лишь читать.
Теперь после чтения или изменения

$info->Save();

или

$info->SaveAs('new-file-name.jpg');

однако разработчик библиотеки советует при сохранении использовать копии фотографий, снимая с себя ответственность за их сохранность (I’m not liable for any corruption of your images.)