fbpx

JavaでマルチTIFFファイルを表示する方法

TIFF(タグ・イメージ・ファイル・フォーマット)ファイルは、複数の画像を含むことができます。これがマルチTIFFファイルと呼ばれるものです。この記事では、JavaでマルチTIFFファイルを読み込んで表示する方法を紹介します。
開発者ブログ

著者 Amy Pearson (IDRsolutions)  翻訳 インターワーク

JavaでマルチTIFFファイルの表示方法

まず、画像をJavaに読み込む必要があります。標準のJDKはマルチTIFF画像をサポートしていないので、JDeliのような追加ライブラリを使用する必要があります。BufferedImageには1つの画像しか格納できないので、JDeliは画像数と各画像を読み込むメソッドを返します。

				
					final TiffDecoder tiff = new TiffDecoder();
final int imageCount = tiff.getImageCount(file);
BufferedImage image = tiff.readImageAt(currentIm, file);
				
			

画像をBufferedImagesとして取得すれば、Javaで表示するのは簡単です。

以前の記事「Javaで画像を表示する方法」をお読みになった方は、すでにJavaで画像ビューアを持っていると思います。それをマルチTIFF画像を表示するように変更することができます。

Java ViewerでMulti-Tiffファイルをサポートするために必要な追加コード

まず、ファイル内の各画像を読み込んで表示する必要があります。これは、ファイル内の画像をカウントしておくことで実現できます:

				
					final TiffDecoder tiff = new TiffDecoder();
final int imageCount = tiff.getImageCount(file);
				
			

そして、JDeliビューアと同じように、ボタンで1つずつ表示し、順番に表示することができます。

				
					final int currentIm = 0;
final JButton next = new JButton("Next image");
final JButton prev = new JButton("Previous image");
next.addActionListener(a -> {
if (currentIm < imageCount - 1) {
currentIm++;
drawImage();
}})
prev.addActionListener(a -> {
if (currIm > 0) {
curentIm--;
drawImage();
}})
// Add the buttons to the viewer
final JPanel multiButtons = new JPanel();
multiButtons.add(prev);
multiButtons.add(next);
add(multiButtons, BorderLayout.PAGE_END);
				
			

draw imageメソッドは、次のように毎回画像を設定するために使うものです:

				
					void drawImage() {
BufferedImage image = tiff.readImageAt(currentIm, file);
imageLabel.setIcon(new ImageIcon(image));
}


				
			

これで、マルチTIFFファイル内のすべての画像を表示できるようになり、JavaでマルチTIFFファイルを表示できるようになりました。

Javaで画像ファイルを扱う開発ツール(SDK)をお探しのみなさま、効率のよい開発作業のためにJDeliがきっとお役に立つことと思います。JDeliは無料で試用していただけますので、まずはお試しのうえ、ぜひ導入をご検討ください。

JDeliでのシステム開発やプログラミング、無料トライアルの情報はこちらをご覧ください。技術的なことから費用面まで、ご質問・ご相談もこちらからお寄せください。

    Facebook
    Twitter
    Email
    公式ブログロゴ

    製品に関する記事や開発者のブログ

    robot

    PDFソフトウェアの開発に役立つ情報をメールでお届けします

    PDFに最適な圧縮形式は?

    Portable Document Format(PDF)には、ファイルサイズと品質の最適なバランスを実現するための複数の圧縮オプションが用意されています。圧縮の選択は、PDF内のコンテンツの種類や希望する出力品質など、さまざまな要因によって異なります。この記事では、こうした要素についてご紹介します。

    LZW圧縮とは?

    LZWは可逆データ圧縮です。Abraham Lempel、Jacob Ziv、Terry Welchによって開発されたLZWアルゴリズムは、動的に作成される辞書を使用してデータ文字列をコードに変換します。LWZは、GIF画像形式、特定のTIFF画像形式、PDFファイルで一般的に使用されています。

    CCITT圧縮とは?

    CCITTは、2色の画像(通常は白黒)を圧縮するために使用される可逆圧縮フォーマットです。これは、TIFF圧縮に使用されます。

    MENU
    PAGE TOP
    ロボット
    PDFソフトウェアの開発に役立つ情報をメールでお届けします