当サイトでは、さまざまなソースから大量の写真をアップロードしています。
ファイルサイズを抑えるために、 mogrify を使用してソースからすべての exif data を削除します。
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
Exiftool あなたにぴったりのようです。
試したことはありませんが、電池切れ後の日付をリセットするのを忘れたため、2074年1月1日とマークされたハネムーンの写真をすべて修正したいと思います。
これが PHP Exif Library 必要なことを実行するはずです。
PHP Exif Library(PEL)を使用すると、Exif(Exchangeable Image File Format)データを完全に操作できます。これは、日付と時刻、シャッター速度など、デジタルカメラが画像に配置するデータです。 、ISO値など。
PELを使用すると、Exifデータを完全に変更できます。つまり、読み取りと書き込みの両方が可能です。まったく新しいExifデータを画像に追加することもできます。 PELは完全にPHPで記述されており、PHPの標準インストールバージョン5以外には依存しません。PELはSourceForgeでホストされています。
linuxには、jheadというプログラムがあります。次のコマンドを使用して、最小限のexifヘッダーを追加できます。
jhead -mkexif img.jpg
Exif情報を削除することで多くのスペースを確保できるとは思えません...
とにかく、私は間違っている可能性がありますが、Exifメタデータは技術的(およびコンテキスト)情報を格納するためのものです。著作権などの場合は、代わりにIPTCを使用する必要があります。
これは、どうやらImageMagickでできることです: ImageMagickを使用してIPTCデータをJpegに書き込む 。
これは、PHP [〜#〜] pel [〜#〜] ライブラリを使用して直接行うことができます。既存の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ドキュメント内 。