Página 1 de 1
Display de BMPs, objeto Image.
Enviado: 08 Fev 2011 14:00
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.
Re: Display de BMPs, objeto Image.
Enviado: 08 Fev 2011 20:49
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,
Re: Display de BMPs, objeto Image.
Enviado: 08 Fev 2011 21:45
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.
Re: Display de BMPs, objeto Image.
Enviado: 09 Fev 2011 06:21
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.
Re: Display de BMPs, objeto Image.
Enviado: 10 Fev 2011 13:19
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
Display de BMPs, objeto Image.
Enviado: 10 Fev 2011 20:14
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.
Re: Display de BMPs, objeto Image.
Enviado: 11 Fev 2011 09:34
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.
Display de BMPs, objeto Image.
Enviado: 11 Fev 2011 10:39
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.
Re: Display de BMPs, objeto Image.
Enviado: 11 Fev 2011 17:57
por Mario Mesquita
Valeu a dica, Pablo. Vou ver.
Obrigado,
Mario.
Re: Display de BMPs, objeto Image.
Enviado: 12 Fev 2011 08:20
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,
Re: Display de BMPs, objeto Image.
Enviado: 13 Fev 2011 11:00
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.