画像処理

Javaで利用可能な画像フォーマット

ここでは、読み込み・保存可能な画像フォーマット名を取得するソースコードを解説します。

画像データとして扱われている形式がいくつ存在します。その中でJPEG(ジェイペグ/ジェーペグ)、PNG(ピング)、BMP(ビーエムピー)、GIF(ジフ)、TIF(ティフ)が有名です。

Javaでは、読み書き出来るフォーマットをプログラムで得ることが出来るので、プログラムでの画像の読み込み/書き込み前の事前確認ができます。

以下は、Javaで読み書きできる画像フォーマットの種類を取得するメソッドです。結果は、String型の配列で返ってきます。

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();

ImageIOクラスgetReaderFormatNamesメソッドで、読み込み可能なフォーマット名をString[] Namesに格納しています。

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();

ImageIOクラスgetWriterFormatNamesメソッドで、保存可能なフォーマット名をString[] Namesに格納しています。

021
022
023
024
		System.out.println( "■保存可能フォーマット一覧" );
		for( i = 0; i < Names.length; ++ i ) {
			System.out.println( Names[ i ] );
		}

保存可能な画像フォーマットの一覧を表示しています。

以上です。

関連コンテンツ

画像フォーマット形式・色・大きさ・傾きなどの変更、特定の図形(文字・記号など)を見つけたり、取り出したりする画像処理について詳しく解説。

2015.11.29

変数やクラスに格納されている値をコンソール出力する方法は?

2020.03.23

プログラムの最初に実行されるメソッドは?

2022.12.13

プログラミングで使う変数って何?

2020.03.23

Javaのプログラムを書いてみませんか?プログラムの書き方をくわしく説明しています。

2020.03.23

「Javaソースコード」から実行可能な「オブジェクトコード」に変換する方法をくわしく説明しています。

2020.03.23

一般に使われている画像フォーマットには、いろいろな種類があります。画像フォーマットBMP、JPEG、PNG、GIF、TIFFの特徴を知ってますか?

2015.11.29

画像って何?

2022.07.25

プログラミング言語とは?種類や特徴について説明しています。

2022.08.03

StringクラスとStringBuilderクラスを利用したプログラミングの仕方を紹介しています。

2016.12.16

同じ型の変数(データ)を複数個まとめて管理するデータの持ちかたがあります。これが配列です。くわしくは、記事をご覧ください。

2016.01.14

メソッドの定義方法を詳しく解説しています。Javaのサンプルソースコードを使った説明もあります。

2020.03.23

Javaプログラムの構成について解説しています。詳しくは、こちらをご覧ください。

2020.03.23

広告