Enviar BufferedImage (nao serializavel) via socket
5 respostas
murieta
Ola … jah estou a um tempo pesquisando sobre o envio de objetos nao serializavel via socket(que nao é possivel) … e encontrei varias soluções … porem nenhuma de fato clara
solução que encontrei … enviar os bytes da imagem porem preciso converter BufferedImage em byte[]
java.lang.ClassCastException: java.awt.image.DataBufferInt cannot be cast to java.awt.image.DataBufferByte
victorcosta
Seu BufferedImage é armazenado em um array de ints
O tipo de armazenamento vc escolhe quando dá um new BufferedImage
Mas como vc só quer enviar ele pelo socket nem precisa se preocupar com isso, usa os metodos de ImageIO
RenderedImage é sua imagem
OutputStream e InputStream vc pega eles no Socket
formatName acho q é a String contendo o formato no qual você quer escrever a imagem, testa “JPG”, “JPEG”, “PNG”, “BMP”…
E
eclipso
O qu vejo o pessoal fazer bastante é gerar um arquivo de imagem temporário…Encodar esse arquivo comprimido para JPEG(tem classes e métodos no Java padrão pra isso), obter os bytes desse arquivo, enviar esse bytes e recirar o arquivo do outro lado…
Fica bem rápido até…Vi um sistema com tela remota (tipo VNC) ser implmentado assim…
murieta
entao pensei nisso … em criar um arquivo temporario no cliente com essa imagem tipo Jpg e enviar os bytes desse arquivo pro servidor onde quero tratar melhor essa imagem …
qnd tiver um tempo implementarei isso … Obrigado a todos!