Você pode ter um applet que faz tudo isso.
Vantagem:
Velocidade só depende da máquina client
Ele pode editar fotos à vontade.
Desvantagem:
Você deve requerer o uso de uma versão da JRE que tenha os recursos desejados, como a última versão da 1.4.2. (Se estiver numa intranet acho que não é tão problemático assim)
Acho que você tem de instalar no seu client também a JAI, se não me engano, se você tiver de usar alguma JRE mais antiga. (tipo 1.4.1)
Você pode fazer isso no servidor (servlet)
Vantagem:
Você só precisa instalar o JAI no servidor.
Desvantagens (são muitas):
Você vai deixar seu usuário de cabelos brancos esperando o upload e download da imagem
Você não consegue ter um recurso de preview
Você vai atolar o seu servidor processando imagens
Se o servidor for Unix não sei se o JAI funciona direito se você não estiver com o servidor X rodando (no caso do Swing você tinha de iniciar o Java com -Djava.awt.headless=true, mas não sei no caso do JAI)
[quote=http://jimagetaglib.sourceforge.net/jit-taglib.tld.html]
Use this tag inside an image tag to show only a part of the image, beside the following rule for creating a “rectangle” area: - “x” parameter is the initial x image’s position; - “y” parameter is the initial y image’s position; - “width” parameter is the width from x,y; - “height” parameter is the height from x,y. Take care: if you set parameters that results in a rectangle that goes out of image’s frontiers, the image will not be rendered.
Body Content: empty [/quote]