PEL Version 0.9.1
Finally, a new version of PEL — get it before your neighbor! Pick your favorite:
- pel-0.9.1.tar.bz2 (299 KiB),
- pel-0.9.1.tar.gz (442 KiB), or
- pel-0.9.1.zip (612 KiB).
The release notes follow:
Added setExif(), getExif(), and clearExif() methods as a convenient and recommended way of manipulating the Exif data in a PelJpeg object. Improved PelEntryTime to deal with timestamps in the full range from year 0 to year 9999. Removed PelTag::getDescription() because the descriptions were out of context. A new example demonstrates how to resize images while keeping the Exif data intact. Added a Japanese and updated the French and Danish translations.
That was the executive summary, there’s a bit more detail about the changes below:
The constructors of PelJpeg and PelTiff can now take an argument which is used for initialization. This can be a filename (equivalent to calling loadFromFile()), a PelDataWindow (equivalent to load()). The PelJpeg constructor will also accept an image resource.
Added PelJpeg::setExif(). This method should always be used in preference to PelJpeg::insertSection() and PelJpeg::appendSection(). One should actually not be using appendSection() unless one is very sure that the image has not been ended by a EOI marker.
Added PelJpeg::getExif(). This method is the new preferred way of obtaining the PelExif object from a PelJpeg object. Updated the examples and code to make use of it.
An example of how to resize images while keeping the Exif data intact is given in resize.php.
The PelTag::getDescription() method is no more. The descriptions were taken directly from the Exif specification and they were often impossible to translate in a meaningful out of context because they had references to figures and tables from said specification.
Fixed bug in edit-description.php which still called the constructor of PelIfd in the old pre-0.9 way.
Updated documentation of PelIfd to make it clearer that it can be used as an array because it implements the ArrayAccess SPL (Standard PHP Library) interface.
Added Japanese translation by Tadashi Jokagi.
Update by David Lesieur of the French translation.
Rewrote entry for version 0.9 in NEWS to highlight the API incompatible changes made from version 0.8.
Renamed test.php to run-tests.php and implemented a simple search functionality for finding the SimpleTest installation.
Rewrote make-release.sh script to work with Subversion.
Finally, if you insist, then go read the full ChangeLog, there’s lots of good stuff in this release :-)
Chris Banford:
Hi Marin!
Was hunting around for a way to write data to a .jpg’s EXIF and came across your PEL library. At first I thought ‘”Oh S**t” is that complex — I’ll never make it work’ but have just spent the last hour or so and amazing, I’ve figured it out! Very, very cool.
Just wanted to say that I really appreciate your work/efforts, and that if you ever make it to Zermatt, the first beer’s on me ;)
I’ll send you an email in a few months, when our project goes live, so you can see (and maybe link?) where your efforts have been used.
Thanks again!
9 October 2007, 3:38 pm-Chris
Martin Geisler:
Cool, I’m glad to hear that you like it! I will certainly like to include a link to your project on the PEL homepage, just let me know.
Also, if you have problems with PEL, then feel free to ask on the PEL Devel list. I will probably not have that much time (I have mostly shifted to programming in Python these days), but I will try to help.
If you have any suggestions on how to make a better HOWTO for PEL, then I would also be interested. I know that PEL is fairly low-level in the way that it exposes the JPEG and Exif structures. More convenience functions are definitely needed.
Oh, about the bear: I actually visited Zermatt just two months ago — my wife is from Wallis :-) It’s a small world…
9 October 2007, 9:53 pm