Popular Posts
Add file to google drive using Google.Apis.Auth.OAuth2; using Google.Apis.Drive.v2; using Google.Apis.Drive.v2.Data; using Google.Apis.Services; using Google.Apis.Ut... Enable SSL connection for Jsoup import org.jsoup.Connection; import org.jsoup.Jsoup; import javax.net.ssl.*; import java.io.IOException; import java.security.KeyManagement... JavaMail sample import java.io.File; import java.io.UnsupportedEncodingException; import java.util.Date; import java.util.Properties; import javax.activati...
Blog Archive
Stats
Resize image using Java
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package apptraining;

import java.awt.Graphics2D;
import java.awt.RenderingHints;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;

/**
 *
 * @author BruceTsai
 */
public class ImageResizer {

    public static void doit(String soureFile, String targetFile, double percentage) throws IOException {
        BufferedImage image = ImageIO.read(new File(soureFile));
        System.out.println(String.format("原始檔寬度 : %d , 原始檔高度 : %d", image.getWidth(), image.getHeight()));
        int[] size = new int[]{(int) (image.getWidth() * percentage), (int) (image.getHeight() * percentage)};
        System.out.println(String.format("轉換後寬度 : %d , 轉換後高度 : %d", size[0], size[1]));
        BufferedImage target = new BufferedImage(size[0], size[1], image.getType());
        Graphics2D graphic = target.createGraphics();
        graphic.setRenderingHint(RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BILINEAR);
        graphic.drawImage(image, 0, 0, size[0], size[1], null);
        ImageIO.write(target, "jpg", new File(targetFile));
    }
}