The
ThemeImageProcessor() method in the core doesn't apply any of the image edits to the theme image. So, you can crop it like crazy, invert the colors, apply watermarks, whatever. But the theme image is generated from the unmodified image, as added to the project. Just watch the "theme image" box on the lower right as you make edits to the image. Its
Explore thumbnail changes, but the theme image and its crop mask do not.
That may not be perfect, but it's a reasonable approach to take. The cropping requirements for a regular image in the gallery aren't likely to be the same as the cropping requirements for that same image when used as a theme image. It's not possible to get them both right.
The theme image crop mask is what gets applied to the image when it's used as the theme image. If regular cropping were
also applied, how would you figure out how to do that? Which one goes first?
Regular cropping for the thumbnail and slide versions of the image,
theme image cropping for the theme image. You can't mix the two.
If a user wants to apply cropping to an image for its use as the theme image, he needs to pre-crop it. He could add it to a project with the
NoPages skin, set the image bounds crazy large (like 10000x10000), apply cropping and whatever other image editing he wants to do, hit
Make Album, and grab the output slide image. Then add that image to the real project, exclude it, and then select it as the theme image.
ETA: This is why I try to avoid "rolling my own."
