Buscar

Como Capitura as Telas ativas no Windows... tipo print Screen

Código

procedure TForm1.Button1Click(Sender: TObject);
var
dc:HDC;
jpg:TJPEGImage;
bmp:TBitmap;
begin

  try
     {TJPEGImage necessario declara unit JPeg na delcaração uses...}

    jpg:=TJPEGImage.Create;

    bmp:=TBitmap.Create;

     {Monitor e uma class i esta disponivel como
      property delcarado em  TCustomForm e guarada
      informações sobre a sobre a configuração de resoluca como largura e altura}


    bmp.Width:=Monitor.Width;
    bmp.Height:=Monitor.Height;

    {usando a função da Api Windows getdc com    valor zero , voce recuprea o descriptor do desktop do windows}

    dc:=GetDC(0);

   {usando a função BitBlt da Api windows para gravar o descriptor da tela no canvas do Bitmap capiturando a Tela}

    BitBlt(bmp.Canvas.Handle,0,0,bmp.Width,bmp.Height,dc,0,0,SRCCOPY);


    jpg.CompressionQuality:=100;

    { convertendo bitmap para Jpg qualidade
     exelente como acima 100% e de tamanho bem menor que o bitmap}


    jpg.Assign(bmp);

    jpg.SaveToFile('c:Teste.jpg');


  finally
      DeleteDC(dc);
      bmp.Free;
      jpg.Free;
  end;
end;
 

Publicidade

Vote na dica




Quantidade de votos: 0 votos
Aceitação: 0%


Detalhes da dica

Categoria: Imagens
Adicionada dia: 03/01/11
Por: Fabio
Visualizada: 8559 vezes

Planeta Delphi - Tudo sobre programação Delphi Planeta Delphi - www.planetadelphi.com.br - Todos os direitos reservados | Copyright 2001-2009