Encolhendo uma imagem saltando pixels

 

O seguinte método em java pega como parâmetro um objeto BufferedImage e retorna uma imagem encolhida. O segundo parâmetro (n), especifíca o fator da redução.

 

    public static BufferedImage enlarge(BufferedImage image, int n) {
        
        int w = image.getWidth() / n;
        int h = image.getHeight() / n;
        
        BufferedImage shrunkImage =
                new BufferedImage(w, h, image.getType());
        
        for (int y=0; y < h; ++y)
            for (int x=0; x < w; ++x)
                shrunkImage.setRGB(x, y, image.getRGB(x*n, y*n));
        
        return shrunkImage;
    }