Compressão de Imagens Para Web

2 respostas
H

Bom dia, este é meu primeiro post aqui no fórum, porém, mesmo não participando ativamente, utilizo muito a informação do mesmo para ajudar nas dúvidas de desenvolvimento.
Bem, vamos ao que interessa…

Estou desenvolvendo uma aplicação web, onde recebo uma imagem do cliente. Isso já está sendo implementado, e trabalho com a imagem como um array de bytes (Byte[]).
Na minha aplicação, independente da imagem mandada pelo usuário, vou trabalhar com uma resolução máxima de 250x250, e a qualidade não precisa ser tão boa.
Sendo assim, preciso de uma forma para poder comprimir e redimensionar as imagens enviadas pelo meu cliente.

Alguém tem alguma sugestão para a resolução deste problema?

2 Respostas

G

E dae hermannnnetto tudo certo,

cara a algumas semanas atraz eu também estava precisando de alguma coisa assim pesquisei um monte juntei as informações necessarias e criei esse metodo aqui acho que pode te ajudar:

public static byte[] resize(byte[] imgByte, String imageType, int newW, int newH) throws IOException {
		BufferedImage img = ImageIO.read(new ByteArrayInputStream(imgByte));
				
		int w = img.getWidth();  
		int h = img.getHeight();  
		BufferedImage dimg = new BufferedImage(newW, newH, img.getType());  
		Graphics2D g = dimg.createGraphics();  
		g.setRenderingHint(RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BILINEAR);  
		g.drawImage(img, 0, 0, newW, newH, 0, 0, w, h, null);  
		g.dispose();
		ByteArrayOutputStream buffer = new ByteArrayOutputStream();
		ImageIO.write(dimg, imageType, buffer);
		return buffer.toByteArray();
	}
H

Gustavo, muito obrigado cara, implementei aqui, funcionou perfeitamente.
Quebrou um galhão por aqui…

xD

Pode fechar o tópico…

Criado 19 de novembro de 2010
Ultima resposta 19 de nov. de 2010
Respostas 2
Participantes 2