Heureusement il existe le projet Java Image Scaling qui a sa librairie sur maven.
http://code.google.com/p/java-image-scaling/
Maintenant voici comment intégrer Java Image Scaling dans grails : un jeu d'enfant :)
Ajouter la dépendance suivante dans grails-app/conf/BuildConfig.groovy
runtime 'com.mortennobel:java-image-scaling:0.8.5'
Dans votre controller ajoutez le bout de code suivant :
/**
* Return the content of screen shot
*/
def viewScreen = {
File img = new File("myImage.png")
response.contentType = 'image/png'
if(params.thumbnail){
BufferedImage inputImage = ImageIO.read(img);
BufferedImage rescaledImage = new MultiStepRescaleOp(DimensionConstrain.createMaxDimension(355,500)).filter(inputImage, null);
def outputStream = new ByteArrayOutputStream()
ImageIO.write(rescaledImage, "png", outputStream);
response.outputStream << outputStream.toByteArray()
}else{
response.outputStream << img.bytes
}
}