Java로 이미지 표시
Java에서 여러 가지 방법을 사용하여 이미지를 표시할 수 있습니다. 아래에서는 두 가지 방법을 사용하여 Java에서 이미지를 표시하는 방법을 살펴보겠습니다.
JLabel.setIcon()
을 사용하여 Java에서 이미지 표시
첫 번째 예에서는 Swing 라이브러리의 JLabel
클래스를 사용합니다. JLabel
은 JComponent
를 확장하고 이 구성 요소를 JFrame
에 연결할 수 있습니다. 이미지 파일을 읽기 위해 File
클래스를 사용하고 이미지의 경로를 전달합니다. 다음으로 ImageIO.read()
를 사용하여 이미지를 BufferedImage
객체로 변환합니다. 이제 JLabel
에 표시할 아이콘을 만듭니다.
레이블 아이콘을 표시하려면 FlowLayout
과 500 x 500 크기의 JFrame
개체가 필요합니다. 크기는 필요에 따라 조정할 수 있습니다. 이제 JLabel
객체를 만들고 JLabel.setIcon()
함수를 사용하여 해당 아이콘을 설정합니다. 그런 다음 jLabel
구성 요소를 jFrame
에 추가하고 프레임의 가시성을 true로 설정합니다.
import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
import javax.swing.*;
public class DisplayImage {
public static void main(String[] args) throws IOException {
File file = new File("C:\\Users\\User1\\Pictures\\Camera Roll\\java.png");
BufferedImage bufferedImage = ImageIO.read(file);
ImageIcon imageIcon = new ImageIcon(bufferedImage);
JFrame jFrame = new JFrame();
jFrame.setLayout(new FlowLayout());
jFrame.setSize(500, 500);
JLabel jLabel = new JLabel();
jLabel.setIcon(imageIcon);
jFrame.add(jLabel);
jFrame.setVisible(true);
jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
출력:
ImageJ
라이브러리를 사용하여 Java에서 이미지 표시
이 프로그램에서는 ImageJ
라는 강력한 이미지 처리 라이브러리를 사용합니다. 이를 사용하려면 먼저 maven 저장소와 종속성을 pom.xml
로 가져옵니다.
<repositories>
<repository>
<id>scijava.public</id>
<url>https://maven.scijava.org/content/groups/public</url>
</repository>
</repositories>
<dependency>
<groupId>net.imagej</groupId>
<artifactId>ij</artifactId>
<version>1.53j</version>
</dependency>
우리의 목표는 이미지를 보여주는 것이고 ImageJ
는 우리를 위해 간단합니다. 다음은 IJ
클래스에서 먼저 정적 함수 openImage()
를 호출하고 그 안의 이미지 경로를 인수로 전달하는 코드입니다. 이미지가 같은 디렉토리에 있기 때문에 확장자가 있는 이미지 이름만 씁니다.
IJ.openImage()
는 ImagePlus
객체 imagePlus
를 반환합니다. 이제 imagePlus
객체를 사용하여 show()
메서드를 호출합니다. 출력이 프레임에 이미지를 표시하는 것을 볼 수 있습니다.
import ij.IJ;
import ij.ImagePlus;
public class DisplayImage {
public static void main(String[] args) {
ImagePlus imagePlus = IJ.openImage("mountains.jpeg");
imagePlus.show();
}
}
출력:
Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.
LinkedIn관련 문장 - Java JLabel
- Java에서 JButton에 ActionListener 추가
- Java Swing에서 JLabel 텍스트 변경
- Swing에서 JLabel 중앙에 배치
- Java에서 setFont 사용하기