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)