Javaで画像縮小時するとき、以下の様なコードを書いたとする。
public static BufferedImage reduce1(BufferedImage image, int dw, int dh) { BufferedImage thumb = new BufferedImage(dw, dh, image.getType()); thumb.getGraphics().drawImage( image.getScaledInstance(dw, dh, Image.SCALE_AREA_AVERAGING), 0, 0, dw, dh, null); return thumb; }
このとき、imageのタイプとimage.getType()で取得できたタイプが違う場合がある。完全にはまってしまったのでメモ。
image.getType()より、TYPE_INT_RGBが無難。「jpeg,gif,png,bmp一応全ての拡張子として保存できる」らしい。
参考文献
http://docs.oracle.com/javase/7/docs/api/java/awt/image/BufferedImage.html