質問

このサイトでは、さまざまなソースから大量の写真をアップロードしています。

ファイルサイズを小さくするために、ソースからすべての exifデータを削除します。 mogrify

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 は、完全に一致するように見えます。

試したことはありませんが、バッテリーが切れた後に日付をリセットするのを忘れたため、今では01/04/2074とマークされているすべての新婚旅行の写真を修正しようとしています。

必要なことを行う PHP Exifライブラリがあります。

  

PHP Exifライブラリ(PEL)を使用すると、   Exifを完全に操作する(交換可能   画像ファイル形式)データ。これは   デジタルカメラが配置するデータ   日付などの画像   時間、シャッタースピード、ISO値など   オン。

     

PELを使用すると、   Exifデータ。つまり、両方の可能性があります。   読み書き。完全に新しいExif   データを画像に追加することもできます。ペル   完全にPHPで書かれており、   標準以外に依存しない   PHPバージョン5のインストール。PELは   SourceForgeでホストされています。

Linuxには、jheadというプログラムがあります。次のコマンドで最小限のexifヘッダーを追加できます。

jhead -mkexif img.jpg

Exif情報を削除することで多くのスペースが得られるとは思わない...

とにかく、私は間違っている可能性がありますが、Exifメタデータは、技術(およびコンテキスト)情報を保存するためのものです。著作権などの場合は、代わりにIPTCを使用する必要があります。

これはImageMagickでできることです。 ImageMagickでJpegにIPTCデータを書き込む

PEL ライブラリを使用して、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