Album de fotos

Fala galera.
Vou precisar desenvolver futuramente um album de fotos; ainda não iniciei esse desenvolvimento.
Um album do tipo visualiza as imagens pequenas, clica e abre elas grandes aí depois de aberto ter um ( >> ) e ( << ) para avançar e retornar.

Até aí beleza o usuário faz o upload das imagens; dá pra usar um Jquery na exibição e por aí vai …

Tenho visto que há facilidade em limitar o tamanho da imagem na hora do upload, usando Struts ou Vraptor. Mas queria algo a mais: manipular a imagem.

Ao invéz de falar pro usuário : O cara essa imagem é gigantesca; se ligue ! Poder via programação reduzir o tamanho da imagem proporcionalmente até a largura ficar menor que X e Altura menor que Y. E ainda diminuir a resolução para uns 72DPI.

A idéia é que mesmo que o usuário tente subir aquela foto que ele tirou na camera de 2000MPx rs… Ele possa fazer isso. O sistema quem vai fazer os tratamentos necessários e deixar a imagem em um padrão compatível para a WEB.

E aí ?? aquela história né tudo é possível. Mas vale a pena ?
QUe biblioteca usar ?
Alguém já fez algo do tipo ?

Valeu !
Um abraço !