What is the best way to scale images in Java?



I have a web application written in Java (Spring, Hibernate/JPA, Struts2) where users can upload images and store them in the file system. I would like to scale those images so that they are of a consistent size for display on the site. What libraries or built in functions will offer the best results? I will consider the following criteria in making my decision (in this order):

  • Free/Open Source (essential)
  • Easy to implement
  • Quality of results
  • Performance
  • Size of executable

Answer

Have a look at the Java Image I/O API to read/write the image. Then use AffineTransform to resize.

Also, here’s a complete example using java.awt.Image.



Source: stackoverflow