Jeffrey Barish wrote: > I am trying to use PIL to add a comment to an image. I have never used PIL > before, but I discovered that it is possible to print an existing comment > with the following: > > im = PIL.Image.open('filename.jpg') > print im.app['COM'] > > I figured that I could write a comment by reversing this procedure: > > im.app['COM'] = 'New comment' > im.save('newfilename.jpg') > > However, when I open newfilename.jpg, I find that key 'COM' does not > exist -- the comment is not being written. Presumably, I am doing > something wrong.
PIL's support for JPEG markers is mostly read-only. Adding comments by decoding/encoding isn't a very good idea anyway; to do that right, you need to work on the JPEG data stream, not on a decoded image. it would probably not be too hard to write a JPEG stream editor based on PIL's JPEG stream parser, but for the time being, I recommend using IJG's "wrjpgcom" utility for things like this. </F> -- http://mail.python.org/mailman/listinfo/python-list