画像処理
Javaで利用可能な画像フォーマット
画像データとして扱われている形式がいくつ存在します。その中でJPEG(ジェイペグ/ジェーペグ)、PNG(ピング)、BMP(ビーエムピー)、GIF(ジフ)、TIF(ティフ)が有名です。
Javaでは、読み書き出来るフォーマットをプログラムで得ることが出来るので、プログラムでの画像の読み込み/書き込み前の事前確認ができます。
ImageIO.getReaderFormatNamesメソッド
public static String[] getReaderFormatNames()
・読み込み可能な画像フォーマットの種類をString型の配列で返します。 パラメータ なし 戻り値 読み込み可能な画像フォーマットの種類を返します。
ImageIO.getWriterFormatNamesメソッド
public static String[] getWriterFormatNames()
・保存可能な画像フォーマットの種類をString型の配列で返します。 パラメータ なし 戻り値 保存可能な画像フォーマットの種類を返します。
ImageFormatNames.java
001 002 003 004 005 006 007 008 009 010 011 012 013 014 015 016 017 018 019 020 021 022 023 024 025 026
import javax.imageio.ImageIO; class ImageFormatNames { public static void main( String[] args ) { // 変数の宣言 int i; // ループ用 String[] Names; // フォーマット名格納配列 // 読み込み可能フォーマットを表示 Names = ImageIO.getReaderFormatNames(); System.out.println( "■読み込み可能フォーマット一覧" ); for( i = 0; i < Names.length; ++ i ) { System.out.println( Names[ i ] ); } // 改行 System.out.println(); // 保存可能フォーマットを表示 Names = ImageIO.getWriterFormatNames(); System.out.println( "■保存可能フォーマット一覧" ); for( i = 0; i < Names.length; ++ i ) { System.out.println( Names[ i ] ); } } }
実行結果
コンパイル ソースコードが「ANSI」の場合
C:\talavax\javasample>javac -encoding sjis ImageFormatNames.java
コンパイル ソースコードが「UTF-8」の場合
C:\talavax\javasample>javac ImageFormatNames.java
実行
C:\talavax\javasample>java ImageFormatNames
出力結果
■読み込み可能フォーマット一覧 JPG jpg tiff bmp BMP gif GIF WBMP png PNG JPEG tif TIF TIFF wbmp jpeg ■保存可能フォーマット一覧 JPG jpg tiff bmp BMP gif GIF WBMP png PNG JPEG tif TIF TIFF wbmp jpeg
実行に成功すると、上記のように表示されます。
Javaソースコードの解説
ここからは、このソースコードを上から順番に解説していきます。
001
import javax.imageio.ImageIO;
Javaのクラスライブラリの中から「javax.imageio.ImageIO」というパッケージにあるクラスを、このプログラム内で使うために記述します。 この記述により、ImageIOクラスが利用できるようになります。
003
class ImageFormatNames {
クラス名を、ImageFormatNamesとしています。
004
public static void main( String[] args ) {
mainメソッドからプログラムを実行します。
005 006 007
// 変数の宣言 int i; // ループ用 String[] Names; // フォーマット名格納配列
このプログラムで使う変数を宣言しています。
009 010
// 読み込み可能フォーマットを表示
Names = ImageIO.getReaderFormatNames();
011 012 013 014
System.out.println( "■読み込み可能フォーマット一覧" ); for( i = 0; i < Names.length; ++ i ) { System.out.println( Names[ i ] ); }
読み込み可能な画像フォーマットの一覧を表示しています。
016 017
// 改行
System.out.println();
空文字をコンソール出力して、行の間隔をあけています。
020
Names = ImageIO.getWriterFormatNames();
021 022 023 024
System.out.println( "■保存可能フォーマット一覧" ); for( i = 0; i < Names.length; ++ i ) { System.out.println( Names[ i ] ); }
保存可能な画像フォーマットの一覧を表示しています。
以上です。
関連コンテンツ
一般に使われている画像フォーマットには、いろいろな種類があります。画像フォーマットBMP、JPEG、PNG、GIF、TIFFの特徴を知ってますか?
2015.11.29