回答編集履歴

1 コード追記

masaya_ohashi

masaya_ohashi score 8923

2017/02/22 10:45  投稿

[http://qiita.com/tool-taro/items/1f414424b31a86e97446](http://qiita.com/tool-taro/items/1f414424b31a86e97446)
ここの「コメント」のとこに書かれている方法ならどうでしょうか。標準ライブラリだけでそこそこきれいな縮小だそうですよ。速度とかはわかりませんが…
ここの「コメント」のとこに書かれている方法ならどうでしょうか。標準ライブラリだけでそこそこきれいな縮小だそうですよ。速度とかはわかりませんが…
```Java
   public static void scaleImage(File in, File out, double scale) throws IOException {
       BufferedImage org = ImageIO.read(in);
       ImageFilter filter = new AreaAveragingScaleFilter(
           (int)(org.getWidth() * scale), (int)(org.getHeight() * scale));
       ImageProducer p = new FilteredImageSource(org.getSource(), filter);
       java.awt.Image dstImage = Toolkit.getDefaultToolkit().createImage(p);
       BufferedImage dst = new BufferedImage(
           dstImage.getWidth(null), dstImage.getHeight(null), BufferedImage.TYPE_INT_RGB);
       Graphics2D g = dst.createGraphics();
       g.drawImage(dstImage, 0, 0, null);
       g.dispose();
       ImageIO.write(dst, "jpeg", out);
   }
```

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る