Srs,
Com um FileOutputStream, crio um arquivo sem extensão formado por um stream de bytes. Gostaria de saber como transformar isso numa IMAGEM.JPG .
Caso facilite, tenho um getData(), que retorna a cadeia de bytes que forma esse arquivo.
Obrigado pela ajuda!
nbluis
Maio 2, 2008, 2:07pm
#2
É só tu criar o arquivo com a extensão .jpg
Você ja ta fazendo a parte mais difícil.
vou tentar aqui. Dessa forma, eu consigo abrir o arquivo e já visualizar a imagem normalmente?
nbluis
Maio 2, 2008, 2:09pm
#4
Sim.
Se quem está enviando não passar por nenhum encoder nada sim.
File tempFile = File.createTempFile(“preview”, “ad” + currentAd.getAdNumber()+".JPG");
FileOutputStream fos = new FileOutputStream(tempFile);
fos.write(previewImage.getData());
fos.close();
previewImage.setPath(tempFile.getPath());
só adicionei o +".JPG" na primeira linha. Antes não tinha.
subindo a aplicação. Em 5 min respondo aqui.
Mto obrigado pela ajuda!
quando tentei abrir a imagem salva, apareceu só “No preview available” (e isso nao é uma imagem hehehe).
Alguma dica?
Valeus!
nbluis
Maio 2, 2008, 2:42pm
#9
De onde vem essa imagem ?
Ela vem no formato jpg mesmo ?
é o arquivo gerado apartir do meu FileOutputStream. Tá como JPG. Todos os meus parametros não são nulos.
nbluis
Maio 2, 2008, 3:18pm
#11
Tá mais o que que é esse previewImage?
De onde vem esses bytes da imagem ?
previewImage é um objeto de uma classe que tem os seguintes atributos:
private String name;
private int width;
private int height;
private String mimeType;
private byte[] data;
private ACImage thumbnail;
private String path;
o campo data vem de um BD
Bom, tente esse código fazendo as devidas alterações!
Image ret = null;
int[] data = new int[w * h];
System.arraycopy(data, 0, getData(), 0, w*h);
MemoryImageSource membo = new MemoryImageSource(w, h, data, 0, w);
ret = Toolkit.getDefaultToolkit().createImage(membo);
Acredito que deve funcionar, caso não funcione vai ser preciso saber como essa imagem é serializada para ser salva no BD.