Ir para conteúdo
Fórum Script Brasil
  • 0

Tira print da tela com delphi


anjofantasma

Pergunta

Ola galera tenho um projeto que você pode tirar print da tela e salvar ele estava funcionando bem


function CapturaTela: TBiTmap;
var
  dc:hdc;
  cv:TCanvas;
Begin
result := TBiTmap.Create;
result.Width := Screen.Width;
result.Height := Screen.Height;
Dc := GetDc(0);
Cv := TCanvas.Create;
Cv.Handle := Dc;
result.Canvas.CopyRect(Rect(
0, 0,Screen.Width,Screen.Height),
cv,Rect(0,0,Screen.Width,Screen.Height));
cv.Free;
ReleaseDc (0, DC);
end;

porem agora não ta mais ta tirando print todo branco eu vi não sei se tem algo a ver mais tem computador de que tem o programa do branco do brasil e da cef ele não funciona nos outros ele funciona normal alguém pode me ajudar ?

Link para o comentário
Compartilhar em outros sites

17 respostass a esta questão

Posts Recomendados

  • 0

porem você usa a mesma função que eu uso

na verdade não é igual ... tem algumas diferenças significativas

se ainda assim a tela fica em branco ....

então tente isso

vá em configurações de video e reduza a quantidade de cores para 16 Bits e veja o que acontece

abraço

Link para o comentário
Compartilhar em outros sites

  • 0

mesma coisa manow um amigo meu disse que ta com o mesmo problema

http://i.snag.gy/jFIXE.jpg

to no notebook que ta dando problema e não e só este mais meu amigo me disse que isso ai e por causa dos Plugins do banco algo assim mais eu não entendi muito bem ai fui fazer um teste na onde não tem estes Plugins funciona mesmo na onde tem os Plugins não funciona não

Link para o comentário
Compartilhar em outros sites

  • 0

ok... faça mais um teste antes de recorrer a ultima solução:

de um build all no projeto .. e teste

ou ainda:

crie uma nova aplicação ... use se o programa que te indiquei no post , ou crie um novo form e faça o teste com o componente TImage ( novo )

se funcionar .. o problema esta no componente

caso ainda não funcione .. a solução será voce instalar novamente o delphi ( mas limpe os registros antes, usando o CCleaner ou outro )

abraço

Link para o comentário
Compartilhar em outros sites

  • 0

teste esse código no micro com problema

em um form coloque um botão e um componente TImage

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Image1: TImage;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

uses Jpeg;

// capturar uma foto da tela
function CaptureScreenRect( ARect: TRect ): TBitmap;
var ScreenDC: HDC;
begin
  Result := TBitmap.Create;
  with Result, ARect do
  begin
    Width := Right - Left;
    Height := Bottom - Top;
    ScreenDC := GetDC( 0 );

    try
      BitBlt( Canvas.Handle, 0, 0, Width, Height, ScreenDC, Left, Top, SRCCOPY );
    finally
      ReleaseDC( 0, ScreenDC );
    end;
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
var   bmp : TBitmap;
      jpeg : TJPEGImage;

begin

   // capturar uma foto da tela
   Image1.picture.Assign(CaptureScreenRect(Rect(0,0,Screen.DesktopWidth,Screen.DesktopHeight)));
   Image1.picture.SaveToFile('c:\imagem'+'.bmp');

   Bmp := TBitmap.Create;
   Bmp.LoadFromFile('c:\imagem.bmp');
   jpeg := TJpegImage.Create;
   jpeg.Assign(bmp);
   // qualidade da foto quanto menor o valor, menor o tamanho do jpeg e menor qualidade
   jpeg.CompressionQuality:=30; //  ideal
   jpeg.SaveToFile('C:\imagem.jpg');
   jpeg.Free;
   Bmp.Free;

   Image1.Picture.LoadFromFile('C:\imagem.jpg');
end;

end.

abraço

Link para o comentário
Compartilhar em outros sites

  • 0

pode ser que algum programa instalado na maquina possa ter alterado alguma configuração...

ainda mais se o micro esta usando o windows 7 ou 8 ( voce deve verificar a configuração no micro que funciona e no micro que não funciona ) procure por dll ou bpl do delphi que estejam faltando nas maquinas

ou pode tentar outras abordagens

http://stackoverflow.com/questions/5805372/load-image-from-embedded-resource

http://stackoverflow.com/questions/7190998/after-assigning-nil-to-timage-picture-graphic-to-clear-the-picture-how-can-i-us

abraço

Link para o comentário
Compartilhar em outros sites

  • 0

sim mais o print do teclado o programa e da microsoft e eu fiz teste formatei um computador e rodei esta função funcionou ai instalei o programa da cef o plugin de segurança e não tinha mas nada ai deu tala branca o por que ta acontecendo isso não mais oque ta causando isso e o programa da cef de segurança

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...