このエントリーをはてなブックマークに追加

画像ファイルのリサイズ処理のサンプル

javaで画像ファイルのリサイズ処理をする場合のサンプル

参考先URL(コメント部分) : https://qiita.com/tool-taro/items/1f414424b31a86e97446

/**
 * 画像ファイルを縮小する
 * @param inputFile 出力対象のファイル
 * @param outputFile 出力先のファイル
 * @param scale 小さくするサイズ(0.5だと半分の大きさ)
 */
public static void scaleImage(File inputFile, File outputFile, double scale) {
    try {
        BufferedImage org = ImageIO.read(inputFile);
        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", outputFile);
    } catch (IOException ioe) {
        throw new RuntimeException(ioe);
    }
}