public static boolean createThumbnail(String loadFile, String saveFile, int maxDim) throws IOException {

        String suffix = loadFile.substring(loadFile.lastIndexOf('.') + 1).toLowerCase();


        File save = new File(saveFile.replaceAll("/", "\\" + File.separator));

        FileInputStream fis = new FileInputStream(loadFile.replaceAll("/", "\\" + File.separator));

        BufferedImage im = ImageIO.read(fis);

        Image inImage = new ImageIcon(loadFile).getImage();

        double scale = (double)maxDim / (double)inImage.getHeight(null);

        if (inImage.getWidth(null) > inImage.getHeight(null)) {

            scale = (double)maxDim / (double)inImage.getWidth(null);

        }

        int scaledW = (int)(scale * inImage.getWidth(null));

        int scaledH = (int)(scale * inImage.getHeight(null));

        BufferedImage thumb = new BufferedImage(scaledW, scaledH, BufferedImage.TYPE_INT_RGB);

        Graphics2D g2 = thumb.createGraphics();

        g2.drawImage(im, 0, 0, scaledW, scaledH, null);

        return ImageIO.write(thumb, suffix, save);

    }


오래전 코드....이건 좀 구리다...

Posted by [czar]
,