Resizing Image Java (Chỉnh ảnh theo ý muốn trong java)

Khi các bạn muốn add 1 icon vào 1 button hoặc label … nhưng vì kích thước bức ảnh khá lớn, bạn ngại photoshop dẫn đến khi add icon vào button hoặc label không như ý muốn (hình 1). Sau đây mình giới thiệu các bạn 1 đoạn code nhỏ để thực hiện việc căn chỉnh icon theo kích thước mà mình đã định sẵn.

// can chinh image
public Icon load(String linkImage, int k, int m) {/*linkImage là tên icon, k kích thước chiều rộng mình muốn,m chiều dài và hàm này trả về giá trị là 1 icon.*/
	try {
		BufferedImage image = ImageIO.read(new File(linkImage));//đọc ảnh dùng BufferedImage

		int x = k;
		int y = m;
		int ix = image.getWidth();
		int iy = image.getHeight();
		int dx = 0, dy = 0;

		if (x / y > ix / iy) {
			dy = y;
			dx = dy * ix / iy;
		} else {
			dx = x;
			dy = dx * iy / ix;
		}

		return new ImageIcon(image.getScaledInstance(dx, dy,
				image.SCALE_SMOOTH));

	} catch (IOException e) {

		e.printStackTrace();
	}

	return null;
}

(Hình 1)

Sau khi dùng hàm trên thì icon sẽ được thu nhỏ như kích thước mình muốn.(hình 2)

(Hình 2)