2022.11.19
画像のサイズを取得
はじめに
変換方法
以下の方法で画像のサイズを取得します。
①変換前の画像をMyBufferedImage0.readメソッドで読み込む ②MyBufferedImage0.getWidthメソッドで画像の横方向のピクセル数を取得 ③MyBufferedImage0.getHeightメソッドで画像の縦方向のピクセル数を取得
以上です。
Javaソースコード
GetImageSize.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 027 028 029 030 031 032 033 034 035
public class GetImageSize { public static void main(String[] args) { // ファイル名 String imgname; // 入力した引数が1つ以上かを調べる if ( 1 > args.length ) { // 入力した引数が1つ未満の場合、使用方法を表示する System.out.println( "GetImageSize [入力画像名]" ); return; } // 入力画像名をinnameに代入(拡張子省略なし) imgname = args[ 0 ]; // 画像操作クラス MyBufferedImage0 img = new MyBufferedImage0(); // 入力画像の読み込み if ( !img.read( imgname ) ) { System.out.println( "読み込みに失敗しました!(" + imgname +")" ); return; } // 画像の横のピクセル数を取得 int width = img.getWidth(); // 画像の縦のピクセル数を取得 int height = img.getHeight(); // 画像サイズを表示 System.out.println( "横方向のピクセル=" + width ); System.out.println( "縦方向のピクセル=" + height ); } }
このソースのコンパイルには、Javaソースファイル「MyBufferedImage0.Java」が必要です。以下から取得してください。
実行方法
input.jpgのサイズを取得する例
java GetImageSize input.jpg
出力結果
横方向のピクセル=400 縦方向のピクセル=300
Javaソースコードの解説
ここから、ソースコードを詳しく解説していきます。
001
public class GetImageSize {
クラス名を、GetImageSizeとしています。
002
public static void main(String[] args) {
このmainメソッドからプログラムを実行します。
003 004
// ファイル名 String imgname;
006 007 008 009 010 011
// 入力した引数が1つ以上かを調べる if ( 1 > args.length ) { // 入力した引数が1つ未満の場合、使用方法を表示する System.out.println( "GetImageSize [入力画像名]" ); return; }
013 014
// 入力画像名をinnameに代入(拡張子省略なし)
imgname = args[ 0 ];
016 017
// 画像操作クラス
MyBufferedImage0 img = new MyBufferedImage0();
画像を操作するMyBufferedImage0クラスの実体imgを作成しています。
019 020 021 022 023
// 入力画像の読み込み if ( !img.read( imgname ) ) { System.out.println( "読み込みに失敗しました!(" + imgname +")" ); return; }
MyBufferedImage0.readメソッドで、画像ファイルimgnameを読み込んでいます。
MyBufferedImage0.readメソッド
boolean read( String imgname )
・指定した画像ファイルを読み込みます。 パラメータ imgname : フルパスの画像ファイル名(拡張子は省略不可) 戻り値 true : 画像の読み込みに成功 false : 画像の読み込みに失敗
025 026
// 画像の横のピクセル数を取得 int width = img.getWidth();
MyBufferedImage0.getWidthメソッドで、横方向のピクセル数を取得し、int型の変数widthに代入しています。
MyBufferedImage0.getWidthメソッド
public int getWidth()
・画像の横のピクセルサイズを返します。 パラメータ なし 戻り値 画像の横ピクセル数
028 029
// 画像の縦のピクセル数を取得 int height = img.getHeight();
MyBufferedImage0.getHeightメソッドで、縦方向のピクセル数を取得し、int型の変数heightに代入しています。
MyBufferedImage0.getHeightメソッド
public int getHeight()
・画像の縦のピクセルサイズを返します。 パラメータ なし 戻り値 画像の縦ピクセル数
031 032 033
// 画像サイズを表示 System.out.println( "横方向のピクセル=" + width ); System.out.println( "縦方向のピクセル=" + height );
横方向のピクセル数widthと、縦方向のピクセル数heightをprintlnメソッドでコンソール出力しています。
以上です。
関連コンテンツ
一般に使われている画像フォーマットには、いろいろな種類があります。画像フォーマットBMP、JPEG、PNG、GIF、TIFFの特徴を知ってますか?
2015.11.29
このサイトのオリジナルクラスのMyBufferedImage0クラスを利用して、JPEG、BMP、TIFFなどの各種画像ファイルをPNG形式のファイルに保存するプログラムを紹介しています。
2022.11.18
ファイルは、データを取り扱うとき管理単位の一つで、ハードディスク、SSD,USBメモリ、CD/DVD/ブルーレイなどの記憶媒体に保存するときに使われます。詳しくは、記事をご覧ください。
2022.08.12