Estou criando um cadastro de pessoas e gostaria de colocar um campo para foto.
Alguém poderia dizer qual é o comando para isso.
Estou criando um cadastro de pessoas e gostaria de colocar um campo para foto.
Alguém poderia dizer qual é o comando para isso.
Olá
Sua aplicação é web ou Swing?
É Swing!
tbm estou com este problema…
Estou criando uma aplicação Swing, aonde tenho um cadastro de alunos, que preciso armazenar a foto.
Estou utilizando Postgres e tbm nao sem qual o tipo q posso utilizar no banco
Boa tarde ds311072,
No PostgreSQL, você pode utilizar o tipo bytea para armazenar as fotos. Dê uma pesquisada no google, existem vários sites explicando como proceder (busque pela função lo_import também, encontra-se muita coisa).
Quanto ao procedimento de exibir as imagens no Java, nunca fiz nada semelhante (utilizei PostgreSQL para uma aplicação em PHP). Dê uma pesquisada pela Sun, com certeza haverá alguma fonte por lá
[]'s
[quote=ds311072]tbm estou com este problema…
Estou criando uma aplicação Swing, aonde tenho um cadastro de alunos, que preciso armazenar a foto.[/quote]
JPanel…
é o que eu utilizo
Para armazenar, depende do seu banco de dados.
Existem alguns que têm um tipo especial para IMAGEM, outros usam um tipo de dados que armazena informações complexas, incluindo imagem.
Para exibir, no entanto, você vai usar o jLabel:
//Neste campo você insere os bytes da imagem (Por exemplo, o retorno de um SELECT do banco de dados)
byte[] dados = <leitura dos bytes...>;
//Exibe a imagem
JLabel exibe = new JLabel();
exibe.setIcon( new ImageIcon(dados) );
Aqui vai mais uma dica: Pode ser que a imagem a ser exibida não esteja em tamanho padronizado.
Se for assim, é interessante você usar o método GetScaledImage(), como no código abaixo:
// Para facilitar eu criei um "Image" que é um campo que contém a IMAGEM (lida no byte[] dados definido acima...)
Image imagem = new Image(dados);
/*
O código acima pode ser substituído por algo diferente... por exemplo:
Image imagem = ImageIO.read("c:\imagem.jpg");
*/
if (this.exibe != null){
int H = exibe.getHeight();
int W = exibe.getWidth();
this.exibe.setIcon( new ImageIcon(imagem.getScaledInstance(W, H, Image.SCALE_FAST)) );
}
Espero ter ajudado
=D