Fórum Timage e Visualizador #413455
28/02/2012
0
Eu tenho um Timage que quando eu carrego uma imagem nele, ele salva a imagem em uma pasta e salva o nome da imagem no banco de dados. até aqui tudo bem.
Mas eu queria saber como que eu faço para que quando eu clicar no Timage fosse aberto a imagem no tamanho original, tipo visualizador mesmo, ou em outro form, porem no tamanho original(grande).
Obrigado pela atenção.
Rodolfo Silva
Curtir tópico
+ 0Posts
28/02/2012
Joel Rodrigues
Para abrir no visualizador do Windows, tente enviar um comando para abrir a imagem, creio que o WinExec sirva para isso.
Boa sorte.
Gostei + 0
29/02/2012
Rodolfo Silva
winExec pode ser, mas eu queria mesmo era que quando eu clicasse no meu Timage no Form 1, fosse aberto no Form 2 a imagem no tamanho grande..
Tem como fazer isso?
Obrigado
Gostei + 0
29/02/2012
Joel Rodrigues
Teste aí.
Gostei + 0
29/02/2012
Joel Rodrigues
Com isso, se a imagem ficar muito grande, o ScrollBox apresentará barras de rolagem.
Boa sorte.
Gostei + 0
29/02/2012
Rodolfo Silva
VisuImagem.VImage.Picture.LoadFromFile(OpenFoto.FileName);
VisuImagem.Show;
mas esta dando como variaveis nao declaradas.
oque pode estar errado?
Gostei + 0
29/02/2012
Joel Rodrigues
Você instanciou o form antes de carregar a imagem?
Gostei + 0
01/03/2012
Rodolfo Silva
Porque este script que mostrei é pra que quando eu clicar no timage no formi1, ele vai abrir a imagem em outro form.
tem outro codigo pra isso?
to usando o delphi xe
obrigado
Gostei + 0
01/03/2012
Joel Rodrigues
E quais variáveis ele diz que não estão declaradas?
Gostei + 0
01/03/2012
Joel Rodrigues
Gostei + 0
01/03/2012
Rodolfo Silva
Vai ser de Grande Ajuda!
É exatamente oque eu queria!
Ah se estiver alguém com a mesma duvida, deixa um post que mando o exemplo!
Obrigado e Sucesso!
Gostei + 0
02/03/2012
Joel Rodrigues
Dividirei em tópicos para facilitar a compreensão.
1) Em um form, adicionei um TImage com tamanho reduzido e Stretch=true (para redimensionar a imagem para um tamanho menor);
2) Adicionei um segundo form (frmVisualizador) com as seguintes propriedades modificadas: Position=poScreenCenter, Width=800, Height=600 (dimensões mínimas iniciais);
3) Ao segundo form, adicionei um TScrollBox com Align=alClient e dentro deste ScrollBox, coloquei um TImage (imgImagem) com Left=0 e Top=0 (tamanho indiferente) e AutoSize=true (redimensionará o TImage para o tamanho real do arquivo);
4) No evento onClick do TImage do primeiro form, codifiquei da seguinte forma:
---
frmVisualizador := TfrmVisualizador.Create(Self);
frmVisualizador.imgImagem.Picture := (Sender as TImage).Picture;
frmVisualizador.ShowModal();
FreeAndNil(frmVisualizador);
---
5) No evento onShow do segundo form (frmVisualizador), defini o seguinte código:
---
if (imgImagem.Width < Screen.Width - 20 ) and (imgImagem.Height < Screen.Height - 20) then //reduzi 20px para descontar as bordas da janela e a barra de tarefas do Windows, não é um valor exato, é preciso verificar
begin
Self.Width := imgImagem.Width; //Aqui você pode somar/subtrair algum fator de correção
Self.Height := imgImagem.Height; //Aqui você pode somar/subtrair algum fator de correção
end;
---
Bem, é isso aí.
Espero que possa ajudar outros no futuro.
Grande abraço a todos e fiquem com Deus.
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)