Java で画像を表示する
Java ではいくつかの方法で画像を表示できます。以下に、2つの方法を使用して Java で画像を表示する方法を示します。
Java で JLabel.setIcon()
を使用して画像を表示する
最初の例では、Swing ライブラリの JLabel
クラスを使用します。JLabel
は JComponent
を拡張し、このコンポーネントを JFrame
にアタッチできます。画像ファイルを読み取るには、File
クラスを使用して画像のパスを渡します。次に、ImageIO.read()
を使用して画像を BufferedImage
オブジェクトに変換します。次に、JLabel
に表示されるアイコンを作成します。
ラベルアイコンを表示するには、FlowLayout
とサイズ 500 x500 の 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);
}
}
出力:
Java で ImageJ
ライブラリを使用して画像を表示する
このプログラムでは、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 Swing で JLabel テキストを変更する
- Swing で JLabel を中央に配置する
- Java の JButton に ActionListener を追加する
- Java での setFont の使用