Oi pessoal
Estou fazendo uma reducao de imagem. Para voe ter ideia, ela tem cerca de 2000x2000 pixels e estou passando para 500x500, a imagem original
é praticamente preta e branco, possui 130k, e é um PNG.
Estou usando a forma mais comum, atraves das transformacoes:
static BufferedImage scaleTo(BufferedImage image, int width, int height) {
AffineTransformOp transform = new AffineTransformOp(AffineTransform.getScaleInstance(
(double) width / image.getWidth(), (double) height
/ image.getHeight()), AffineTransformOp.TYPE_BICUBIC);
return transform.filter(image, null);
}
O resultado é pessimo. Nao se pode ler as letras direito. Com qualquer um dos tipos de AffineTransform.
Algumas pessoas dizem pra aplicar um blur antes de fazer o scale. Tentei, mas nao ficou bom tambem.
Curioso que usando o itext e a Image dele, ele tem um metodo scaleTo que fica bem legivel a versao da imagem reduzida, porem nao obtenho um BufferedImage novamente.
