Fórum Capturar Imagem do Form e transformar em JPG #366231

17/11/2008

0

Ola pra todos, bom dia!

Eu tenho uma rotina para capturar a tela do form e a transformar em JPG, funciona muito bem. No entanto para obter o resultado final preciso que o form esteja aberto. Será que existe alguma maneira de capturar essa imagem do form com ele criado apenas na memória? Alguem conhece algum procedimento?


Allhalver

Allhalver

Responder

Posts

17/11/2008

Facc

Ola pra todos, bom dia! Eu tenho uma rotina para capturar a tela do form e a transformar em JPG, funciona muito bem. No entanto para obter o resultado final preciso que o form esteja aberto. Será que existe alguma maneira de capturar essa imagem do form com ele criado apenas na memória? Alguem conhece algum procedimento?


amigo... acredito que isso que vc quer não funcione, desde que sua função seja igual que uso hj. Ela tira um PrintScreen do form e transforma o bmp para jpg.

Se for, ele tira uma ´foto´ da tela, portanto o form deve estar sendo exibido.


Responder

Gostei + 0

17/11/2008

Allhalver

é isso mesmo, ela tira um print da janela e gera o jpg.
o que preciso realmente é gerar uma imagem pra cada form de uma lista, mas de uma maneira que eles não precisem ser abertos.

mas valeu..


Responder

Gostei + 0

18/11/2008

Tonidavi2004

[b:fd644003e8]allhalver[/b:fd644003e8], fiz este exemplo para vc implementar para seu uso.
procedure TForm1.Button1Click(Sender: TObject);
var
  JpgSave: TJPEGImage;
  i: integer;
begin
  if (SaveDialog1.Execute) then
  begin
    for i := 0 to Pred(Application.ComponentCount) do
    begin
      if (Application.Components[i] is TForm) then
        if (Application.Components[i].Name = ´Form2´) then
          Break;
    end;

    JpgSave := TJPEGImage.Create;
    try
      JpgSave.Assign((Application.Components[i] as TForm).GetFormImage);
      JpgSave.SaveToFile(SaveDialog1.FileName);
    finally
      FreeAndNil(JpgSave);
    end;
  end;
end;



Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar