Bom dia Pessoal, estou com um grande empasse ! Tenho um cadastro de produto com imagens e tal, esta tudo funcionando normal. Porém surgiu uma nova necessidade em que
quando o cliente cadastra uma imagem com mais de 2MB o sistema tem que fazer uma conversão ou algo do tipo que ele aceite a imagem, porém com no máximo 2MB. Já procurei
em vários lugares, se alguém puder me ajudar fico agradecido. Achei algo relacionado a um tal de getResizedSquare
, porém não sei usar :s .
Nesta Aplicação a plataforma é Java ( JSF,JPA2, e o FrameWork PrimeFaces) !
Eei, então eu vi os dois links e nos dois ´pelo oq eu vi eu só
consigo mudar o tamanho da imagem tipo (100 x 100) . Porém o tamanho do arquivo ex: 200kb , não consigo mudar .!
Use o ImageMagick (ferramenta convert) e passe o parâmetro -quality para definir um valor aceitável. Só a compressão JPEG permite comprimir imagens (fotos) de forma que você perca alguma resolução, mas chegue a um tamanho aceitável.
essa aPI eu tenho d baixar? !
Bom, podia dar uma pesquisadinha no Google sobre o ImageMagick? Só dois segundinhos do seu tempo.
Ja tinha achado, só não sei a versão !
você precisa utilizar um codec para reduzir o peso de uma imagem. Só redimensioná-la vai apenas tirar a qualidade dela.
Dá uma lida nesse artigo.
Você pode usar um Framework para diminuir o tamanho da imagem, por exemplo se você tem uma imagem 1280x960 você pode diminuir essa imagem para 800x600 e salvar essa imagem no seu sistema.
Para fazer esse resize na imagem tem um FrameWork muito legal chamado Marvin, da uma olha nesse site http://marvinproject.sourceforge.net/
achei uma solução porem não tenho o controle total sobre o tamanho certo do arquivo, porém ele diminui bem o tamanho do arquivo.
http://www.coffeecode.com.br/redimensionar-e-cortar-imagens-com-java/