画像形式変換
jai: Java Advanced Imaging Parent Projectを使ってやってみた。とりあえず、jpg → png 変換。以下コード
package info.smoochy.jaisample; import java.awt.image.BufferedImage; import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import javax.imageio.ImageIO; import javax.imageio.stream.ImageInputStream; import com.sun.media.jai.codec.ImageCodec; import com.sun.media.jai.codec.ImageEncoder; import com.sun.media.jai.codec.PNGEncodeParam; public class JAISample { /** * @param args */ public static void main(String[] args) { try { // ファイル読込 ImageInputStream inputStream = ImageIO .createImageInputStream(new File("D:\\temp\\sample.jpg")); BufferedImage bufferedImage = ImageIO.read(inputStream); // jpg → png 変換 PNGEncodeParam encodeParam = PNGEncodeParam .getDefaultEncodeParam(bufferedImage); ImageEncoder encoder = ImageCodec.createImageEncoder("PNG", new FileOutputStream(new File("D:\\temp\\sample.png")), encodeParam); encoder.encode(bufferedImage); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } }
とりあえず、png ファイルは出力されたけど、上手くいったのかはよくわからない。こんな書き方でいいのかもわからない。教えて偉い人! という感じです。
もし、こんなんでいいなら、bmp/png/jpg/tiffの相互変換するクラスとかは簡単に作れそう。