JGS Postado Fevereiro 23, 2009 Denunciar Share Postado Fevereiro 23, 2009 Ola, Boa tarde a todos.Estou escrevendo um codigo em Delphi7 para captura de tela(desktop), so que ate agora so consegui capturar por tamanho e na verdade eu estava querendo era capturar uma area qualquer.Sera que alguen poderia me ajudar. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Micheus Postado Fevereiro 23, 2009 Denunciar Share Postado Fevereiro 23, 2009 Estou escrevendo um codigo em Delphi7 para captura de tela(desktop), so que ate agora so consegui capturar por tamanho e na verdade eu estava querendo era capturar uma area qualquer.JGS, dê uma olhada neste tópico: Keybd_event(vk_snapshot,0, 0, 0);, Como incluir a seta do mouse na captura (do começo ao fim)O colega Paulo Nobre expos nele o código que você poderá usar.Abraços Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 JGS Postado Fevereiro 23, 2009 Autor Denunciar Share Postado Fevereiro 23, 2009 Eu dei uma olhada no que foi feito anteriormente pelo nossos colegas, o que eu tenho em mente e mais ou menos como e feito pelo programa 'softcam' da Luminositi, so que bem mais simples, na verdade acho que seria dois formsum principal e outro que seria como se fosse um painel furado no meio tipo uma moldura que eu pudese arrastar e dimensionar da forma que eu quise-se em cima da regiao onde eu queira capturar e pemanece-se la tirando foto 1 em 1 segundos(variavel) , essa foto seria armazenada em alguma pasta.não sei se isso e possivel Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jhonas Postado Fevereiro 23, 2009 Denunciar Share Postado Fevereiro 23, 2009 veja estes tópicoshttp://scriptbrasil.com.br/forum/index.php...ighlite=capturamais epecificamente estehttp://scriptbrasil.com.br/forum/index.php...st&p=522643abraço Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 JGS Postado Fevereiro 24, 2009 Autor Denunciar Share Postado Fevereiro 24, 2009 Bom dia, Obrigado pela pronta ajuda, dei uma olhada neste link em especial http://scriptbrasil.com.br/forum/index.php...st&p=522643e copiei o codigo para testar, mais não estou conguindo compilar, me retorna um erro em 'IViewObject'sera que faltou alguma coisa em 'uses'. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jhonas Postado Fevereiro 24, 2009 Denunciar Share Postado Fevereiro 24, 2009 copiei o codigo para testar, mais não estou conguindo compilar, me retorna um erro em 'IViewObject'clique com o mouse em cima desta palavra [ var viewObject : IViewObject; ]e aperte F1 ( Help do delphi ) abraço Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 JGS Postado Fevereiro 24, 2009 Autor Denunciar Share Postado Fevereiro 24, 2009 ??? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Micheus Postado Fevereiro 24, 2009 Denunciar Share Postado Fevereiro 24, 2009 e copiei o codigo para testar, mais não estou conguindo compilar, me retorna um erro em 'IViewObject'sera que faltou alguma coisa em 'uses'.JGS, acho que o Jhonas quiz que você observasse no help que esta interface está declarada na unit ActiveX - inclua ela na cláusula uses.Obs: Não diga que "retorna um erro em ...", Informe qual o erro especificamente, aquele que o compilador lhe mostra - fica mais fácil de ajudar. ;)Abraços Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 JGS Postado Fevereiro 24, 2009 Autor Denunciar Share Postado Fevereiro 24, 2009 Bom a principio não tinha entendido mesmo de que se tratava de falta de componente mais já esta declarada, agora surgiu outros na sequencia que e o seguinte:[Error] Unit1.pas(34): Undeclared identifier: 'Document'[Error] Unit1.pas(34): Operator not applicable to this operand type[Error] Unit1.pas(36): Undeclared identifier: 'Document'[Fatal Error] Project1.dpr(5): Could not compile used unit 'Unit1.pas' Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jhonas Postado Fevereiro 24, 2009 Denunciar Share Postado Fevereiro 24, 2009 Bom a principio não tinha entendido mesmo de que se tratava de falta de componente mais já esta declarada, agora surgiu outros na sequencia que e o seguinte:[Error]Unit1.pas(34): Undeclared identifier: 'Document'[Error] Unit1.pas(34): Operator not applicable to this operand type[Error] Unit1.pas(36): Undeclared identifier: 'Document'[Fatal Error] Project1.dpr(5): Could not compile used unit 'Unit1.pas'Pelo visto voce é novato no delphi... segue o código completo os erros acima são em função da não declaração do componente WebBrowserwb: TWebBrowser;unit Unit1; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, OleCtnrs, OleCtrls, ExtCtrls, SHDocVw; type TForm1 = class(TForm) Button1: TButton; wb: TWebBrowser; Image1: TImage; SaveDialog1: TSaveDialog; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.DFM} uses activex, jpeg; procedure TForm1.Button1Click(Sender: TObject); var viewObject : IViewObject; r : TRect; bitmapdst, bitmap : TBitmap; RectOrigem, RectDestino: TRect; BitmapFont, BitmapDest, MyBMPImage: TBitmap; begin if wb.Document <> nil then begin wb.Document.QueryInterface(IViewObject, viewObject); if Assigned(viewObject) then try bitmap := TBitmap.Create; bitmapdst := TBitmap.Create; try bitmap.Height := wb.Height; // 288; // 322wb.Height; bitmap.Width := wb.Width; // 322; // wb.Width; r := Rect(0, 0, bitmap.width-1, bitmap.height-1); viewObject.Draw(DVASPECT_CONTENT, 1, nil, nil, Application.Handle, bitmap.Canvas.Handle, @r, nil, nil, 0); RectOrigem := Rect(101, 101, 452, 388); RectDestino := Rect(0, 0, 351, 287); Bitmapdst.Width := 352; Bitmapdst.Height := 288; Bitmapdst.Canvas.CopyRect(RectDestino, Bitmap.Canvas, RectOrigem); with TJPEGImage.Create do try Assign(bitmapdst); if SaveDialog1.Execute then SaveToFile(SaveDialog1.FileName); finally Free; end; finally bitmapdst.Free; bitmap.Free; end; finally viewObject._Release; end; end; end; end.Procure ler mais sobre delphi atraves de apostilas ou tutoriais abraço Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 JGS Postado Fevereiro 25, 2009 Autor Denunciar Share Postado Fevereiro 25, 2009 Vou procurar ler mais mesmo, e que eu sou autodidata e gosto de ir direto a pratica sem muita leitura pego um codigo e transformo para as minhas necessidades, so que as vezes não da certo ai tenho que recorrer a alguma ajuda.E como você pegar aulguma coisa pra consertar, sem saber como, desmonta tudo e monta de novo assim tambem se aprende. Eu faco a engenharia reversa. Assim esta sendo com o Delphi, bem como o C, C++, PHP, Java, JavaScript, HTML, Linux, Windows...Um dia eu fico bom nisso, hehehe...Mais voltando ao assunto...Agora compilei direitinho o codigo mais não funciona, quando clica no botao não acontece nada.sera que faltou algo mais...nos codigos anterioes era como 'procedures' e esse e direto no botao.Agradeço deade já a atenção de vocês. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jhonas Postado Fevereiro 25, 2009 Denunciar Share Postado Fevereiro 25, 2009 seria como se fosse um painel furado no meio tipo uma moldura que eu pudese arrastar e dimensionar da forma que eu quise-se em cima da regiao onde eu queira capturar e pemanece-se la tirando foto 1 em 1 segundos(variavel) , essa foto seria armazenada em alguma pasta.Agora compilei direitinho o codigo mais não funciona, quando clica no botao não acontece nada.sera que faltou algo mais...o código funciona, voce é que não esta sabendo como usarvoce não acha que o componente WebBrowser tem que mostrar uma página qualquer da internet para quando voce clicar no botão ele recortar uma parte dessa imagem e salvar ?e que eu sou autodidata e gosto de ir direto a pratica sem muita leituraisso em programação não funciona... leia e leia muito sobre o delphiabraço Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 JGS Postado Fevereiro 26, 2009 Autor Denunciar Share Postado Fevereiro 26, 2009 No caso do WebBrowser eu consegui fazer funcionar (eu fiquei sem servico de asdl por isso não aparecia nada), mas como fazer a area de captura no desktop? a captura teria que do desktop em uma determinada região. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Micheus Postado Fevereiro 26, 2009 Denunciar Share Postado Fevereiro 26, 2009 JGS, você não quer apeanas capturar uma área do desktop, mas sim gerar um vídeo com as sucessivas capturas - é o que o software que você cita faz.Bom, neste caso, acho que você precisará usar o recurso de captura similar ao do post que citei, sendo que a captura seria controlada por um timer, e as "fotos" teriam que ser passadas a um encoder para gerar o vídeo final. Não é a toa que estes programas são vendidos. ;) Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 JGS Postado Fevereiro 26, 2009 Autor Denunciar Share Postado Fevereiro 26, 2009 Boa Noite, Micheus, na verdade estava pensando em fazer um parecido no qual contenha uma moldura apenas para tirar foto da regiao onde esta moldura ficar, e armazenar em uma pasta qualquer.não vai filmar e nem instalar drivers como o outro,seria bem mais simples. Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
JGS
Ola, Boa tarde a todos.
Estou escrevendo um codigo em Delphi7 para captura de tela(desktop), so que ate agora so consegui capturar por tamanho e na verdade eu estava querendo era capturar uma area qualquer.
Sera que alguen poderia me ajudar.
Link para o comentário
Compartilhar em outros sites
14 respostass a esta questão
Posts Recomendados
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.