Javaはこんなことも手軽にできるんですよねぇ、という機能の1つ。
このサンプルでは、入力にjpegを渡したものを、png変換します。
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import java.util.Collection;
import javax.imageio.ImageIO;
import org.apache.commons.io.FileUtils;
..............
// 画像ファイルの入力。inputFileはjpeg画像のFileクラス
BufferedImage bufimg = ImageIO.read(inputFile);
// outpitFileに出力。ファイル形式はpng
ImageIO.write(bufimg, "png", outputFile);
これだけで変換作業が完了します。CMSなどで大量の画像アップロードや、加工してサムネイル化、また無断コピー防止のために元画像の電子指紋(署名)を発行して保管するとか、画像の端に名前いれるとか、などなども自由にできますね。
Apache CommonsのFileUtilsを使えば、1つのディレクトリ内にある拡張子別にフィルタして取り出すのも簡単ですから、定期バッチ処理として使うもよし、一括変換に使うもよし。複数ファイルがある場合はリスト化してパラレルストリームに流すのも有効ですね。