Capturar Imagem do Form e transformar em JPG

Delphi

17/11/2008

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

Curtidas 0

Respostas

Facc

Facc

17/11/2008

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.


GOSTEI 0
Allhalver

Allhalver

17/11/2008

é 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..


GOSTEI 0
Tonidavi2004

Tonidavi2004

17/11/2008

[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;



GOSTEI 0
POSTAR