views:

3827

answers:

7

On our site, we get a large amount of photos uploaded from various sources.

In order to keep the file sizes down, we strip all exif data from the source using mogrify:

mogrify -strip image.jpg

What we'd like to be able to do is to insert some basic exif data (Copyright Initrode, etc) back onto this new "clean" image, but I can't seem to find anything in the docs that would achieve this.

Has anybody any experience of doing this?

If it can't be done through imagemagick, a PHP-based solution would be the next best thing!

Thanks.

A: 

Probably exiftool (google it) can do what you want.

stephanea
+3  A: 

Exiftool looks like it would be an exact match for you.

I haven't tried it but I'm now tempted to go and fix all my honeymoon photos which are marked 01/01/2074 because I forgot to reset the date after the batteries died.

Colin Pickard
Thanks - top tip. Got me out of a hole.
Greg Whitfield
+4  A: 

Here's a PHP Exif Library that should do what you need.

The PHP Exif Library (PEL) lets you fully manipulate Exif (Exchangeable Image File Format) data. This is the data that digital cameras place in their images, such as the date and time, shutter speed, ISO value and so on.

Using PEL, one can fully modify the Exif data, meaning that it can be both read and written. Completely new Exif data can also be added to images. PEL is written completely in PHP and depends on nothing except a standard installation of PHP, version 5. PEL is hosted on SourceForge.

mwilliams
+1  A: 

I doubt you will gain lot of space by removing Exif information...

Anyway, I can be wrong, but Exif metadata belongs more to store technical (and contextual) information. For stuff like copyright, you should use IPTC instead.

That's something you can do, apparently, with ImageMagick: Write IPTC Data to Jpeg with ImageMagick.

PhiLho
+4  A: 

You can save a large amount of space, especially if you have a large number of images..

Add the following to text.txt

2#110#Credit="My Company"

Strip all existing exif data from the image

mogrify -strip image.jpg

Add the credit to your image

mogrify -profile 8BIMTEXT:text.txt image.jpg
Ciaran
That'll do nicely, cheers!
ConroyP
+1  A: 

on linux there is a program called jhead. It can add a minimal exif header with the command:

jhead -mkexif img.jpg

Bastiaan