Carregar imagem Bitmap

4 respostas
H

Olá pessoal,
sou iniciante em java, estou tentando carregar byte a byte uma imagem Bitmap para com os bytes, tentar compacta-lá.
alguém poderia me ajudar ?

4 Respostas

ViniGodoy

Você quer compactar em que? PNG ou algum formato como zip?

Para carregar uma image, basta usar o comando ImageIO.read. Caso queira salvar em PNG ou JPG, basta usar ImageIO.write.
Você também pode usar essa classe para escrever um ByteArrayOuputStream e, ao final, jogar o resultado para um ZipFile ou ZipOutputStream.

H

Não, é um trabalho da universidade,
eu preciso desenvolver um algoritmo que compacte uma imagem bitmap.
a lógica do algoritmo eu sei, porém n sei os comando em java.
se vc poder me ajudar eu agradeço !

ViniGodoy

Você pelo menos tentou usar o que eu falei?

Você veria que o ImageIO.read te retorna uma BufferedImage. Essa classe tem um método chamado getRGB que te retorna a cor de um pixel.
Você pode colocar a cor desse pixel num objeto do tipo Color, para saber seus componentes R, G e B.

H

Ja fiz dessa forma, usando o get.Width, getHeight, getRGB, etc.
O problema é que dessa forma, apesar de ser uma imagem bitmap, não conseguirei compacta-lá.
Como o java “ver” todo arquivo como um conjunto de bits(110011011), com a imagem n seria diferente,
entao quero ler todos os bits da imagem, usando um padrao(de 8 em 8 bits ou de 4 em 4 bits),
e ficar comparando as cadeias de bits, logo quando as cadeias se repetirem, ao ives de repeti-las no “arquivo compactado”
vou escrever apenas uma cadeia e a frequencia com que ela se repete. pretendo fazer isso com todo o arquivo, inclusive o cabeçalho da imagem.

Vc poderia mim ajudar em algo sobre isso ?

Criado 11 de janeiro de 2013
Ultima resposta 12 de jan. de 2013
Respostas 4
Participantes 2