Como transformar uma widestring em Bitmap?

Delphi

22/09/2010

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

Curtidas 0

Respostas

Tiago Martins

Tiago Martins

22/09/2010

Se eu converter essa minha Widestring em byte eu consigo recupera-la em Bitmap ?
GOSTEI 0
Tiago Martins

Tiago Martins

22/09/2010

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.
GOSTEI 0
Tiago Martins

Tiago Martins

22/09/2010

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.
GOSTEI 0
Marcos Iwazaki

Marcos Iwazaki

22/09/2010

alguem precisa responder o topico.
veja se agora aparece a opção 
GOSTEI 0
POSTAR