Problemas ao carregar imagem no DBImage
Pessoal,
após preencher o cadastro e no mesmo salvar uma imagem no banco de dados (Oracle), quando vou consultar o registro que inseri a imagem foi gravada sem problemas porém ela não é exibida corretamente, na maioria das vezes fica uma parte dela na cor preta. Na maioria das vezes um pedaço na parte superior da imagem.
Alguém sabe por que isso ocorre e o como é consertado isso?
Obrigada.
após preencher o cadastro e no mesmo salvar uma imagem no banco de dados (Oracle), quando vou consultar o registro que inseri a imagem foi gravada sem problemas porém ela não é exibida corretamente, na maioria das vezes fica uma parte dela na cor preta. Na maioria das vezes um pedaço na parte superior da imagem.
Alguém sabe por que isso ocorre e o como é consertado isso?
Obrigada.
Barbara.michele
Curtidas 0
Respostas
Edilcimar
06/01/2006
Não sei o que está usando, mas coloque um timage e coloque stretch para true, não sei como está salvando nem como está recuperando, informe também o tipo de campo
GOSTEI 0
Barbara.michele
06/01/2006
Estou usando o TImage. Já alterei tb a propriedade stretch para true.
O campo é do tipo BLOB e o banco é Oracle.
Bom antes de dar o post no registro estou usando os comandos abaixo p/carregar a imagem no TImage:
if OpenPictureDialog.Execute then begin
EMPRESA.Edit;
EMPRESALOGOTIPO.LoadFromFile(OpenPictureDialog.FileName);
end;
Valeu
O campo é do tipo BLOB e o banco é Oracle.
Bom antes de dar o post no registro estou usando os comandos abaixo p/carregar a imagem no TImage:
if OpenPictureDialog.Execute then begin
EMPRESA.Edit;
EMPRESALOGOTIPO.LoadFromFile(OpenPictureDialog.FileName);
end;
Valeu
GOSTEI 0
Edilcimar
06/01/2006
este comando é para carregar a imagem do arquivo, e qual o camando para salvar no banco, e depois qual o comando para carregar do blob?
GOSTEI 0
Barbara.michele
06/01/2006
Desculpe havia me confundido.
Estou usando o DBImage e utilizando para manipulação dos registros o componente TUpdateSQL, logo não há nenhum código específico para salvar no banco e nem para recuperar do banco e exibir na tela.
Obrigada.
Estou usando o DBImage e utilizando para manipulação dos registros o componente TUpdateSQL, logo não há nenhum código específico para salvar no banco e nem para recuperar do banco e exibir na tela.
Obrigada.
GOSTEI 0
Michael
06/01/2006
Olá!
O problema acontece que qualquer imagem? Se sim, mas de maneiras diferentes - como ficar na cor preta outras partes da figura - então pode ser que o componente [b:fccd574a28]TDBImage [/b:fccd574a28]tenha o recursos de transparência ativado por default. Não conheço o funcionamente interno deste controle, mas verifiquei que ele não descende de [b:fccd574a28]TImage[/b:fccd574a28], e sim de [b:fccd574a28]TCustomControl[/b:fccd574a28]. Logo, não herda a propriedade [b:fccd574a28]Transparent[/b:fccd574a28], por exemplo. Por alguma razão obscura a Borland preferiu não criá-lo com base em [b:fccd574a28]TImage[/b:fccd574a28].
Tente o seguinte: acrescente um [b:fccd574a28]TImage [/b:fccd574a28]no seu form e configure a propriedade [b:fccd574a28]Transparent [/b:fccd574a28]para [b:fccd574a28]False[/b:fccd574a28], e no evento [b:fccd574a28]AfterScroll [/b:fccd574a28]do seu [b:fccd574a28]DataSet[/b:fccd574a28], digite o código a seguir:
Se der certo, substitua de vez o TDBImage por TImage.
[]´s
O problema acontece que qualquer imagem? Se sim, mas de maneiras diferentes - como ficar na cor preta outras partes da figura - então pode ser que o componente [b:fccd574a28]TDBImage [/b:fccd574a28]tenha o recursos de transparência ativado por default. Não conheço o funcionamente interno deste controle, mas verifiquei que ele não descende de [b:fccd574a28]TImage[/b:fccd574a28], e sim de [b:fccd574a28]TCustomControl[/b:fccd574a28]. Logo, não herda a propriedade [b:fccd574a28]Transparent[/b:fccd574a28], por exemplo. Por alguma razão obscura a Borland preferiu não criá-lo com base em [b:fccd574a28]TImage[/b:fccd574a28].
Tente o seguinte: acrescente um [b:fccd574a28]TImage [/b:fccd574a28]no seu form e configure a propriedade [b:fccd574a28]Transparent [/b:fccd574a28]para [b:fccd574a28]False[/b:fccd574a28], e no evento [b:fccd574a28]AfterScroll [/b:fccd574a28]do seu [b:fccd574a28]DataSet[/b:fccd574a28], digite o código a seguir:
Image.Picture.Assign(DBImage.Picture)
Se der certo, substitua de vez o TDBImage por TImage.
[]´s
GOSTEI 0
Barbara.michele
06/01/2006
o problema acontece sempre da mesma forma. sempre coloca uma barra preta na parte superior da imagem.
Substitui o TDBImage por TImage, conforme orientou, e o problema persiste, até salvei outra imagem para ver se a imagem antiga já estava com problema mas não adiantou.
Já não sei mais o q fazer.....
Substitui o TDBImage por TImage, conforme orientou, e o problema persiste, até salvei outra imagem para ver se a imagem antiga já estava com problema mas não adiantou.
Já não sei mais o q fazer.....
GOSTEI 0
Thomaz_prg
06/01/2006
Amigo, troque de componente. Use o EDBImage. Ele tem suporte a JPG e outros. Dê uma pesquisada aqui no fórum mesmo, que o pessoal andou indicando ele.
GOSTEI 0
Barbara.michele
06/01/2006
Pessoal troquei pelo componente EDBImage e o problema persiste.
Poderia ser alguma configuração do campo no banco de dados?
Como já falei estou usando o Oracle e o campo está definido como
mm_assinatura BLOB
Bom para selecionar e carregar a imagem na tela, antes de salvar, uso apenas o código:
if OpenPictureDialog.Execute then begin
Usuario.Edit;
UsuarioMM_ASSINATURA.LoadFromFile(OpenPictureDialog.FileName);
end;
Alguém tem idéia do que está ocorrendo?
Poderia ser alguma configuração do campo no banco de dados?
Como já falei estou usando o Oracle e o campo está definido como
mm_assinatura BLOB
Bom para selecionar e carregar a imagem na tela, antes de salvar, uso apenas o código:
if OpenPictureDialog.Execute then begin
Usuario.Edit;
UsuarioMM_ASSINATURA.LoadFromFile(OpenPictureDialog.FileName);
end;
Alguém tem idéia do que está ocorrendo?
GOSTEI 0
Barbara.michele
06/01/2006
Por favor, alguém poderia me ajudar!!!
GOSTEI 0
Command
06/01/2006
Já faz muito tempo que eu também estou com problemas com o componente QRImage.
O problema somente ocorre no Windows XP, de forma aleatória. As vezes uma vez em cada 10, tentativas ocorre o problema outra 1 em cada 30. Outra hora ocorre 3 vezes consecutivas.
Uso um comando QRImage1.Picture.LoadFromFile(nomedoarquivo); no envento before print do relatorio.
Minha imagem fica inteira preta e já tentei um monte de soluções, como por exemplo deixar a imagem adicionada dentro do componente e remover o código LoadFromFile() .
Você conseguiu resolver seu problema, ou alguem pode me ajudar?
O problema somente ocorre no Windows XP, de forma aleatória. As vezes uma vez em cada 10, tentativas ocorre o problema outra 1 em cada 30. Outra hora ocorre 3 vezes consecutivas.
Uso um comando QRImage1.Picture.LoadFromFile(nomedoarquivo); no envento before print do relatorio.
Minha imagem fica inteira preta e já tentei um monte de soluções, como por exemplo deixar a imagem adicionada dentro do componente e remover o código LoadFromFile() .
Você conseguiu resolver seu problema, ou alguem pode me ajudar?
GOSTEI 0
Eliasexner
06/01/2006
Qual o comando que vc usa para salvar a imagem no campo BLOB do banco?
GOSTEI 0