Display de BMPs, objeto Image.

Projeto MiniGui - Biblioteca visual para Harbour/xHarbour

Moderador: Moderadores

Avatar do usuário
Mario Mesquita
Usuário Nível 4
Usuário Nível 4
Mensagens: 613
Registrado em: 08 Dez 2009 13:47
Localização: Rio de Janeiro

Display de BMPs, objeto Image.

Mensagem por Mario Mesquita »

Boa tarde a todos.

Vou abusar dos colegas de novo e pedir ajuda com um probleminha besta que estou enfrentado:

Estou editando uma tabela via BROWSE e associado ao registro, pode existir um arquivo BMP. Encontrando, o BMP é editado por um objeto IMAGE atrvés da propriedade PICTURE. Até aí, fácil, né?

O problema é que a maioria não é mostrada ficando o objeto IMAGE "em branco", mesmo encontrando o arquivo BMP na pasta de imagens.

Abaixo, a função que estou usando para capturar a imagem. A função é ativada pelo evento ONCHANGE do BROWSE.

O detalhe é que ele localiza o arquivo, apenas não edita.

Código: Selecionar todos

FUNC Exibe_Imagem()
LOCAL xImg

xImg := "Imagens\i" + ALLTRIM(STR(VAL(CLIENTES->MATRIC),7,0)) + ".bmp"

IF FILE( xImg )       // Procura pelo arquivo BMP na pasta Imagens
   MSGINFO(xImg )  
   Frm_Firmas.Image_1.Picture := xImg  
ELSE
   //MSGINFO("IMAGEM NÃO LOCALIZADA")
   Frm_Firmas.Image_1.Picture := "Imagens\nao.bmp" // BMP que avisa não existir imagem para esse registro.
ENDIF
RETU .T.
Será algo com os BMPs, digo o HMG tem alguma dificuldade com esse formato?

Desde já, agradeço a ajuda.

Saudações,
Mario.
Editado pela última vez por Toledo em 08 Fev 2011 20:38, em um total de 1 vez.
Razão: Mensagem editada para colocar a tag [ code ]<br>Veja como utilizar esta tag: http://www.pctoledo.com.br/forum/faq.php?mode=bbcode#f2r1
Avatar do usuário
Toledo
Administrador
Administrador
Mensagens: 3133
Registrado em: 22 Jul 2003 18:39
Localização: Araçatuba - SP
Contato:

Re: Display de BMPs, objeto Image.

Mensagem por Toledo »

Mário, tenta colocar o caminho completo até o arquivo BMP.

Por exemplo:

Código: Selecionar todos

xImg := ALLTRIM(CURDRIVE())+":\"+ALLTRIM(CURDIR())+"\Imagens\i" + ALLTRIM(STR(VAL(CLIENTES->MATRIC),7,0)) + ".bmp"
Abraços,
Toledo - Clipper On Line
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
Avatar do usuário
Pablo César
Usuário Nível 7
Usuário Nível 7
Mensagens: 5312
Registrado em: 31 Mai 2006 10:22
Localização: Curitiba - Paraná

Re: Display de BMPs, objeto Image.

Mensagem por Pablo César »

A função é ativada pelo evento ONCHANGE do BROWSE.
Estou achando que deve utilizar outro evento, talvez on click... Acredito que ON CHANGE é quando passa de um objeto a outro e não de registro. Experimenta sair e entrar do browse clicando em outra área.
Um clip-abraço !

Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Avatar do usuário
Mario Mesquita
Usuário Nível 4
Usuário Nível 4
Mensagens: 613
Registrado em: 08 Dez 2009 13:47
Localização: Rio de Janeiro

Re: Display de BMPs, objeto Image.

Mensagem por Mario Mesquita »

Toledo e Pablo, bom dia.

Fiz o que voces sugeriram, mas foi sem efeito. Como disse, alguns são reconhecidos e comecei a buscar qual seria a diferença entre um BMP que é editado para um que o programa não edita. Escolhi um de cada tipo e fuçei até achar uma coisa. Editei os dois no paint do Windows e vi que o que é reconhecido estava gravado como "BitMap de 24 bits", enquanto o que não é editado estava como "BitMap de 256 cores". Então salvei este como "BitMap de 24 bits", voltei ao programa e ele foi editado pelo objeto Image.

Bom, se alguem souber por que, fica a vontade. O ruim pra mim é que tenho quase 7 mil arquivos e uns 70% não estão sendo lidos. Já penso em converter todos para outro formato, como o JPG.

Aos amigos, muito obrigado pela ajuda e fica aí a dica...

Saudações,
Mario.
MARCELOG
Usuário Nível 4
Usuário Nível 4
Mensagens: 546
Registrado em: 15 Mar 2005 16:54
Localização: Divinópolis/MG

Re: Display de BMPs, objeto Image.

Mensagem por MARCELOG »

Olá combatente,
quando comecei a utilizar imagens em meus sistemas, usava arquivos resources (.rc).
Assim, ao compilar, ocorria erro quando adicionava imagens .bmp de 24 bits.
Dessa forma, sempre utilizo .bmp de 256 cores e não tem erro.
Note que o problema ocorre em relação aos bitmaps (.bmp).
Por outro lado, o objeto image apenas trata e exibe o arquivo indicado, que pode ser de vários formatos.
Não há como editar a imagem, mudando a característica ou formato da mesma.
Verifique se, isoladamente, com indicação do caminho completo(c:\...), a imagem é exibida corretamente.
O formato bitmap é antigo e pode exigir nome de arquivo de até 8 dígitos/letras (verifique).

Espero ter ajudado.

MarceloG
Água mole em pedra dura tanto bate que até espirra!
Avatar do usuário
Pablo César
Usuário Nível 7
Usuário Nível 7
Mensagens: 5312
Registrado em: 31 Mai 2006 10:22
Localização: Curitiba - Paraná

Display de BMPs, objeto Image.

Mensagem por Pablo César »

Senão me engano essa informação de 24 bits e 256 está gravado no meta file e isso pode ser reconfigurado. Mas o HMG ainda está devendo essa questão de gravar nome de autor, versão, icones... etc ja o HMGS sim está funcionando direitinho.
Um clip-abraço !

Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Avatar do usuário
Mario Mesquita
Usuário Nível 4
Usuário Nível 4
Mensagens: 613
Registrado em: 08 Dez 2009 13:47
Localização: Rio de Janeiro

Re: Display de BMPs, objeto Image.

Mensagem por Mario Mesquita »

Bom dia, camaradas!

MArceloG: Obrigado pela ajuda. Já tinha feito o que voce recomendou. Mas curiosamente ele está lendo as imagens em 24 bits e falhando as de 256 cores. Na minha questão, o cliente cadastrado pode ter uma imagem ligada a ele. Como já peguei os dados do meu cliente desse jeito, creio que os documentos foram escaneados sem muito critério. O ideal é que se trabalhasse com um formato mais moderno, no mínimo em JPEG. Valeu!

Pablo: Valeu a ajuda, mas ainda estou verde com esse ambiente, mas posso pesquisar como configurar e permitir se ele pode reconhecer todos os tipos de BMP. HMGS é o extendido?

Abraço e todos,
Mario.
Avatar do usuário
Pablo César
Usuário Nível 7
Usuário Nível 7
Mensagens: 5312
Registrado em: 31 Mai 2006 10:22
Localização: Curitiba - Paraná

Display de BMPs, objeto Image.

Mensagem por Pablo César »

Olha este aplicativo http://www.baixaki.com.br/download/resource-hacker.htm ao que me referia e que foi comentado no fórum HMG, veja se esclarece um pouco talvez consiga interagir no "Icon Group" dos aplicativos gerado pelo HMG.
Um clip-abraço !

Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Avatar do usuário
Mario Mesquita
Usuário Nível 4
Usuário Nível 4
Mensagens: 613
Registrado em: 08 Dez 2009 13:47
Localização: Rio de Janeiro

Re: Display de BMPs, objeto Image.

Mensagem por Mario Mesquita »

Valeu a dica, Pablo. Vou ver.

Obrigado,
Mario.
Avatar do usuário
Toledo
Administrador
Administrador
Mensagens: 3133
Registrado em: 22 Jul 2003 18:39
Localização: Araçatuba - SP
Contato:

Re: Display de BMPs, objeto Image.

Mensagem por Toledo »

Mário, só uma observação... tenho um programa que apresenta a foto dos alunos, mas utilizo arquivos JPG, e funciona certinho.

Abraços,
Toledo - Clipper On Line
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
Avatar do usuário
Mario Mesquita
Usuário Nível 4
Usuário Nível 4
Mensagens: 613
Registrado em: 08 Dez 2009 13:47
Localização: Rio de Janeiro

Re: Display de BMPs, objeto Image.

Mensagem por Mario Mesquita »

Bom dia, senhores!

Toledo, a sugestão procede. Agora é achar como fazer uma "troca" massiva dos BMPs para JPG, pois são quase sete mil imagens. De volta ao Google, fazer o que. Quando implantar o programa, tranquilo, é só pedir pro caboclo escanear e salvar como JPG. Mas tenho que reciclar essas imagens, pois são documentos do cliente.

Obrigado de novo a voces.

Saudações,
Mario.
Responder