Fórum Como transformar uma widestring em Bitmap? #386870

22/09/2010

0

Bom dia a todos, estou uma dúvida e não faço idéia de como resolver. É o seguinte eu tenho um Form com um Panel , nesse panel eu recebo a imagem ao vivo de uma camera ligada a um DVR. Eu preciso tirar uma foto da imagem exibida no Panel quando clicar no botão Capturar, através de uma função da dll eu recebo essa imagem em uma Widestring, oque eu preciso é transformar essa Widestring em Bitmap e exibir em um Timage. Ou se existir uma maneira de tirar um printscreen apenas do panel também serve.
Tiago Martins

Tiago Martins

Responder

Posts

23/09/2010

Tiago Martins

Se eu converter essa minha Widestring em byte eu consigo recupera-la em Bitmap ?
Responder

Gostei + 0

28/09/2010

Tiago Martins

Não consegui fazer a conversão. Então gostaria de saber se alguém poderia me ajudar a tirar uma foto do conteudo exibido no panel, ou fazer o printscreen somente deste componente(panel) presente no meu form, é possível alguma dessas minhas opções?
Obrigado.
Responder

Gostei + 0

28/09/2010

Tiago Martins

Consegui solucionar meu problema, deixo abaixo a solução que encontrei.

procedure TForm5.btn_fotoClick(Sender: TObject);
var
T_BMP : TBitMap;
ScrDC: HDC;
ScrHandle: HWnd;
caminho:string;


begin
   ScrHandle := Panel0.Handle;
   ScrDC := GetDC(ScrHandle);
   TBMP := TBitMap.Create;
   TBMP.Width := Panel0.Width;
   TBMP.Height :=Panel0.Height;
   BitBlt(TBMP.canvas.Handle, 0, 0,
   Screen.Width, Screen.Height, ScreenDC, 0, 0, SRCCOPY);
   Image1.Picture.Assign(T_Bitmap);
   caminho:='C:\Downloads\DVR_PICTURE_CAM'+edit5.text+'.BMP';
   Image1.Picture.SaveToFile(caminho);  
   ReleaseDC(Screenhandle, view0.handle);
end;

Agora preciso saber como finalizo o tópico.
Responder

Gostei + 0

28/09/2010

Marcos Iwazaki

alguem precisa responder o topico.
veja se agora aparece a opção 
Responder

Gostei + 0

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

Aceitar