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