I can't see how to do this in the WordPress core so I guess I will need a plugin. The best I have found so far is Imsanity but it limits me to setting a single maximum width and height for uploaded images, so portrait and landscape oriented images end up with different resolutions.
For example, I might set the max width x height to 800x600 and then upload a 1600x1200 image. The image is resized to 800x600 and stored.
I then upload a 1200x1600 image, which is resized to 450x600 and stored. But I want it to be stored as 600x800.
Is there an image resizing plugin out there that lets me specify max width/height for portrait and landscape oriented images independently?