자바 ImageIcon 크기 조절하는 방법
흔히 우리가 ImageIcon을 이용해서
작업을 하다 보면 이미지의 크기가 내가 설정한 화면의
크기보다 커서 화면 안에 다 보이지 않는 경우가 있습니다.
현재 제가 화면안에 넣고 싶은 사진은
위의 꽃 그림입니다.
ImageIcon을 생성하고
이 안에 바로 flower.jpg를 넣어줍니다.
그리고 JLabel 을 생성하고 이미지를 생성한
icon을 넣어주고 바로 화면을 올립니다.
하지만 여기서 flower.jpg의 해상도가
제가 만든 Size(500,500)보다 크기 때문에
제대로 된 그림이 화면안에 나오지가 않습니다.
이런 경우에는 ImagIcon을 Image로 변환하고
Image의 Size를 조절하고 다시 이를 ImageIcon으로 변환하여
화면에 올리면 올바르게 사진이 나타나게 됩니다.
말로는 이해하기가 힘드니깐
코드로 바로 보여드리겠습니다.
getScaledInstance(가로 크기, 세로 크기, 변환 방법);
ImageIcon 변수명 = new ImageIcon("이미지 파일");
Image img = icon.getImage();
Image changeImg =
img.getScaledInstance(500,500,
Image.SCALE_SMOOTH);
이렇게 코드를 수정하고 새롭게
실행을 하게 되면 이미지가
제가 설정한 창의 크기와 동일하게
출력되게 됩니다.
그럼 여기까지
자바 ImageIcon 크기 조절하는 방법에
대해서 알아보았습니다.
부족한 글 읽어주셔서
감사합니다.
package Flower;
import java.awt.Image;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
public class ChangeImageSize extends JFrame {
public ChangeImageSize() {
ImageIcon icon = new ImageIcon("flower.jpg");
Image img = icon.getImage();
// 창의 사이즈인 500,500에 맞춰서 이미지를 변경
Image changeImg = img.getScaledInstance(500, 500, Image.SCALE_SMOOTH);
ImageIcon changeIcon = new ImageIcon(changeImg);
JLabel lbl = new JLabel(changeIcon);
//SCALE_DEFAULT, SCALE_FAST, SCALE_SMOOTH, SCALE_REPLICATE, SCALE_AREA_AVERAGING
add(lbl);
setTitle("Flower");
setSize(500,500);
setVisible(true);
}
public static void main(String[] args) {
new ChangeImageSize();
}
}
'New Programming > Java' 카테고리의 다른 글
자바 숫자 3개를 입력받아서 가장 큰 수부터 나열! (0) | 2020.05.31 |
---|---|
자바 GUI 배치 연습하기... (0) | 2020.05.29 |
자바 Gui, Swing 기초 연습하기... [01] (0) | 2020.05.28 |
[자바] GridLayout 간단하게 알아보자... (0) | 2020.05.26 |
[자바] BorderLayout 간단하게 알아보자... (0) | 2020.05.24 |