Here's what's happening:

Upon uploading a new image, image.module runs the _image_build_derivatives() function to create the various sizes. However, if one of the sizes is *larger* than the original size, it does not create a file for this size, it just substitutes the _original information for whatever label represents the larger size.

The problem is that when anyone goes to view this larger size again, image.module runs the entire _image_build_derivatives() function and recreates all of the sizes. This blows away the exact-sized image and replaces it with image.module's version.

I realize that this is more of a bug with image.module, but I thought I'd post it here too since it's possible that there could/should be a workaround in the image_exact.module.

Probably the best situation would be to have a hook_resize_image() or similar that might get called from image module. Dunno.

Comments

jjeff’s picture

See also and review: http://drupal.org/node/75238