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