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

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

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

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

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

				
					final <a href="https://support.idrsolutions.com/jdeli/tutorials/reading/java-tiff-reader" target="_blank" urlslab_href_old="https://support.idrsolutions.com/jdeli/tutorials/reading/read-tiff-image-in-java" title="A tutorial covering how to use JDeli TIFF Reader to read images in Java" hreflang="en-US">TiffDecoder</a> 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 <a href="https://idr-portal.intwk.co.jp/ja/buildvu/" urlslab_href_old="https://www.intwk.co.jp/knowledge-base/category/web-service-cloud/page/2/" title="このページでは、BuildVuについてより詳しく学び、お使いのマシンでの実行を開始するお手伝いをします。
サポートについて ご質問がある場合、BuildVuの使用に関してサポートが必要な場合、またはバグレポートを送信したい場合は、サポートリクエストフォーム にご記入ください。サポートスタッフのメンバーができるだけ早くご連絡いたします。
サポートシステムの詳細については、サポートシステムはどのように動作しますか? をご覧ください。
BuildVuの実行 BuildVuをローカルで実行する場合は、Javaがインストールされていることを確認する必要があります。サポートされているJavaバージョンについては、BuildVuはどのJavaバージョンをサポートしていますか? をお読みください。
以下のガイドを用意しています:
コマンドラインからのBuildVu実行 JavaからのBuildVu実行 他の言語からのBuildVu実行 アプリケーションサーバーへのBuildVuデプロイ また、BuildVuを最大限に活用するためのさまざまなチュートリアルや、より技術的な詳細を提供するAPIドキュメントもご用意しています。
関連するセクションには、よくある質問やヒントも含まれています。
Javadocへのアクセス BuildVuのJavadocはオンラインでアクセス できます。
BuildVuリリース BuildVuの新バージョンは6週間ごとにリリースされ、お客様には日次プレリリースjarも提供しています。違いの詳細については、リリース版と日次版のjarの違いは何ですか? をお読みください。" hreflang="ja" target="_blank" rel="noopener noreferrer nofollow">next</a> = new JButton("<a href="https://idr-portal.intwk.co.jp/ja/jdeli/" urlslab_href_old="https://www.intwk.co.jp/jdeli-portal/category/image-processing/page/3/" title="このページでは、JDeliについて詳しく学び、お使いのマシンで実行を開始するための情報を提供します。
サポートの利用 質問がある場合、JDeliの使用に関するサポートが必要な場合、またはバグ報告を提出したい場合は、サポートリクエストフォーム にご記入ください。サポートスタッフができるだけ早く対応いたします。
サポートシステムの詳細については、サポートシステムの仕組みについて をご覧ください。
JDeliの実行 JDeliをローカルで実行する場合は、Javaがインストールされていることを確認する必要があります。サポートされているJavaのバージョンについては、JDeliはどのJavaバージョンをサポートしていますか? をお読みください。
以下のガイドを用意しています:
コマンドラインからJDeliを実行する JDeli Viewerで画像を表示する Maven依存関係としてJDeliを追加する Gradle依存関係としてJDeliを追加する ImageIOをJDeliで置き換える また、JDeliを最大限に活用するためのチュートリアルやヒント、コツも多数用意しています。さらに、より技術的な詳細を提供するAPIドキュメントもあります。
JDeliガイド すべての画像ファイル形式について説明し、一般的な質問に答えるユーザーガイドをダウンロードできます。また、JDeliで各形式を読み書きするためのコードも提供しています。こちらからダウンロード Javadocへのアクセス JDeliのJavadocはオンラインでアクセス できます。" hreflang="ja" target="_blank" rel="noopener noreferrer nofollow">Next</a> image");
final JButton prev = new JButton("<a href="https://idr-portal.intwk.co.jp/ja/buildvu/" urlslab_href_old="https://www.intwk.co.jp/knowledge-base/category/web-service-cloud/web-service-configuration-option/" title="このページでは、BuildVuについてより詳しく学び、お使いのマシンでの実行を開始するお手伝いをします。
サポートについて ご質問がある場合、BuildVuの使用に関してサポートが必要な場合、またはバグレポートを送信したい場合は、サポートリクエストフォーム にご記入ください。サポートスタッフのメンバーができるだけ早くご連絡いたします。
サポートシステムの詳細については、サポートシステムはどのように動作しますか? をご覧ください。
BuildVuの実行 BuildVuをローカルで実行する場合は、Javaがインストールされていることを確認する必要があります。サポートされているJavaバージョンについては、BuildVuはどのJavaバージョンをサポートしていますか? をお読みください。
以下のガイドを用意しています:
コマンドラインからのBuildVu実行 JavaからのBuildVu実行 他の言語からのBuildVu実行 アプリケーションサーバーへのBuildVuデプロイ また、BuildVuを最大限に活用するためのさまざまなチュートリアルや、より技術的な詳細を提供するAPIドキュメントもご用意しています。
関連するセクションには、よくある質問やヒントも含まれています。
Javadocへのアクセス BuildVuのJavadocはオンラインでアクセス できます。
BuildVuリリース BuildVuの新バージョンは6週間ごとにリリースされ、お客様には日次プレリリースjarも提供しています。違いの詳細については、リリース版と日次版のjarの違いは何ですか? をお読みください。" hreflang="ja" target="_blank" rel="noopener noreferrer nofollow">Previous</a> image");
next.addActionListener(a -&gt; {
if (currentIm  {
if (currIm &gt; 0) {
curentIm--;
drawImage();
}})
// Add the buttons to the <a href="https://javadoc.idrsolutions.com/org/jpedal/examples/viewer/Viewer.html" target="_blank" title="declaration: package: org.jpedal.examples.viewer, class: Viewer">viewer</a>
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でのシステム開発やプログラミング、無料トライアルの情報はこちらをご覧ください。技術的なことから費用面まで、ご質問・ご相談もこちらからお寄せください。

JDeli ドキュメント

このページでは、JDeliについて詳しく学び、お使いのマシンで実行を開始するための情報を提供します。 サポートの利用 質問がある場合、JDeliの使用に関するサポートが必要な場合、またはバグ報告を提出したい場合は、サポートリクエストフォーム にご記入ください。サポートスタッフができるだけ早く対応いたします。 サポートシステムの詳細については、サポートシステムの仕組みについて をご覧ください。 JDeliの実行 JDeliをローカルで実行する場合は、Javaがインストールされていることを確認する必要があります。サポートされているJavaのバージョンについては、JDeliはどのJavaバージョンをサポートしていますか? をお読みください。 以下のガイドを用意しています: コマンドラインからJDeliを実行する JDeli Viewerで画像を表示する Maven依存関係としてJDeliを追加する Gradle依存関係としてJDeliを追加する ImageIOをJDeliで置き換える また、JDeliを最大限に活用するためのチュートリアルやヒント、コツも多数用意しています。さらに、より技術的な詳細を提供するAPIドキュメントもあります。 JDeliガイド すべての画像ファイル形式について説明し、一般的な質問に答えるユーザーガイドをダウンロードできます。また、JDeliで各形式を読み書きするためのコードも提供しています。こちらからダウンロード Javadocへのアクセス JDeliのJavadocはオンラインでアクセス できます。

JDeli ドキュメント

このページでは、JDeliについて詳しく学び、お使いのマシンで実行を開始するための情報を提供します。 サポートの利用 質問がある場合、JDeliの使用に関するサポートが必要な場合、またはバグ報告を提出したい場合は、サポートリクエストフォーム にご記入ください。サポートスタッフができるだけ早く対応いたします。 サポートシステムの詳細については、サポートシステムの仕組みについて をご覧ください。 JDeliの実行 JDeliをローカルで実行する場合は、Javaがインストールされていることを確認する必要があります。サポートされているJavaのバージョンについては、JDeliはどのJavaバージョンをサポートしていますか? をお読みください。 以下のガイドを用意しています: コマンドラインからJDeliを実行する JDeli Viewerで画像を表示する Maven依存関係としてJDeliを追加する Gradle依存関係としてJDeliを追加する ImageIOをJDeliで置き換える また、JDeliを最大限に活用するためのチュートリアルやヒント、コツも多数用意しています。さらに、より技術的な詳細を提供するAPIドキュメントもあります。 JDeliガイド すべての画像ファイル形式について説明し、一般的な質問に答えるユーザーガイドをダウンロードできます。また、JDeliで各形式を読み書きするためのコードも提供しています。こちらからダウンロード Javadocへのアクセス JDeliのJavadocはオンラインでアクセス できます。

JDeli ドキュメント

このページでは、JDeliについて詳しく学び、お使いのマシンで実行を開始するための情報を提供します。 サポートの利用 質問がある場合、JDeliの使用に関するサポートが必要な場合、またはバグ報告を提出したい場合は、サポートリクエストフォーム にご記入ください。サポートスタッフができるだけ早く対応いたします。 サポートシステムの詳細については、サポートシステムの仕組みについて をご覧ください。 JDeliの実行 JDeliをローカルで実行する場合は、Javaがインストールされていることを確認する必要があります。サポートされているJavaのバージョンについては、JDeliはどのJavaバージョンをサポートしていますか? をお読みください。 以下のガイドを用意しています: コマンドラインからJDeliを実行する JDeli Viewerで画像を表示する Maven依存関係としてJDeliを追加する Gradle依存関係としてJDeliを追加する ImageIOをJDeliで置き換える また、JDeliを最大限に活用するためのチュートリアルやヒント、コツも多数用意しています。さらに、より技術的な詳細を提供するAPIドキュメントもあります。 JDeliガイド すべての画像ファイル形式について説明し、一般的な質問に答えるユーザーガイドをダウンロードできます。また、JDeliで各形式を読み書きするためのコードも提供しています。こちらからダウンロード Javadocへのアクセス JDeliのJavadocはオンラインでアクセス できます。

JDeli ドキュメント

このページでは、JDeliについて詳しく学び、お使いのマシンで実行を開始するための情報を提供します。 サポートの利用 質問がある場合、JDeliの使用に関するサポートが必要な場合、またはバグ報告を提出したい場合は、サポートリクエストフォーム にご記入ください。サポートスタッフができるだけ早く対応いたします。 サポートシステムの詳細については、サポートシステムの仕組みについて をご覧ください。 JDeliの実行 JDeliをローカルで実行する場合は、Javaがインストールされていることを確認する必要があります。サポートされているJavaのバージョンについては、JDeliはどのJavaバージョンをサポートしていますか? をお読みください。 以下のガイドを用意しています: コマンドラインからJDeliを実行する JDeli Viewerで画像を表示する Maven依存関係としてJDeliを追加する Gradle依存関係としてJDeliを追加する ImageIOをJDeliで置き換える また、JDeliを最大限に活用するためのチュートリアルやヒント、コツも多数用意しています。さらに、より技術的な詳細を提供するAPIドキュメントもあります。 JDeliガイド すべての画像ファイル形式について説明し、一般的な質問に答えるユーザーガイドをダウンロードできます。また、JDeliで各形式を読み書きするためのコードも提供しています。こちらからダウンロード Javadocへのアクセス JDeliのJavadocはオンラインでアクセス できます。

Facebook
Twitter
Email
公式ブログロゴ

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

開発チームに最適なJava画像ライブラリとは?

画像処理は現代のJavaアプリケーションにおいて避けて通れない機能の一つです。Webサービスでのサムネイル生成、ドキュメント管理システムでのファイル変換、データ分析での可視化出力など、様々な場面で画像ライブラリの品質がシステム全体の安定性を左右します。

多くの開発チームが最初に手を伸ばすのは、Java標準のImageIOやオープンソースのライブラリでしょう。確かに導入は簡単で、基本的な画像処理には十分に見えます。しかし、プロダクション環境で実際に運用を始めると、思わぬ落とし穴に遭遇することがあります。

開発チームに最適なJava PDFライブラリとは?

「オープンソースで十分じゃない?」
そう考えるエンジニアは少なくありません。確かに無償のライブラリは機能が豊富で、改変も自由です。しかしバグ修正やセキュリティパッチを自分たちで追い続ける労力、サードパーティのパッケージを呼び出すリスク、そしてライセンス条件の判断に迷う時間などを考えると、コードを書かない”隠れコスト”が静かに膨らんでいきます。

「保守や脆弱性対応に追われて本来の開発が進まない!」

そんな声が聞こえてきたら、商用ライブラリへの切り替えどきかもしれません。

開発チームに最適なPDF-HTML変換ツールとは?

開発チームに最適なPDF-HTML変換ツールとは?PDFからHTMLへの変換において開発者が直面する課題と、それを解決するBuildVuの特長を解説。正確な変換品質、スケーラビリティ、セキュリティ、開発者フレンドリーな出力、そしてシンプルな料金体系で、チーム開発の効率を高める方法をご紹介します。

PDFファイルを扱うシステム開発・ウェブ開発に役立つ

開発者向けPDF入門ガイド

開発者向けPDF入門ガイド

PDFの基礎から応用まで開発者のための入門ガイド2024年版

PDF の仕様や活用方法など、開発者に必要な情報がコンパクトにまとめました。初めてPDFを扱う開発者にも分かりやすく、基礎から応用までカバーしているため、PDF のポテンシャルを最大限に引き出し、アプリケーション開発やドキュメント管理の効率化を図るための手引きとなるでしょう。技術的な側面に興味がある開発者だけでなく、ビジネスでPDFを有効活用したい方にもおすすめの一冊です。

MENU
PAGE TOP