Java tutorial
import java.awt.Graphics2D; import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; import java.net.URL; import javax.imageio.ImageIO; public class Main { public static BufferedImage resize(int targetWidth, int targetHeight, BufferedImage src) { double scaleW = (double) targetWidth / (double) src.getWidth(); double scaleH = (double) targetHeight / (double) src.getHeight(); double scale = scaleW < scaleH ? scaleW : scaleH; BufferedImage result = new BufferedImage((int) (src.getWidth() * scale), (int) (src.getHeight() * scale), BufferedImage.TYPE_INT_ARGB); Graphics2D g2d = result.createGraphics(); g2d.drawImage(src, 0, 0, result.getWidth(), result.getHeight(), null); g2d.dispose(); return result; } public static void main(String[] args) throws IOException { BufferedImage origin = ImageIO.read(new URL("http://www.java2s.com/style/download.png")); File dest = new File("c:/Java_Dev/out.png"); ImageIO.write(resize(200, 200, origin), "PNG", dest); } }