Copiar Parte da tela num Image??
Como faço para consegui copiar parte da tela em um componente Image. Gostaria de definir um ponto no form (através de um clique, por exemplo) e fosse pega uma área ao redor do clique e copiada para o Image.
Raserafim
Curtidas 0
Respostas
Cebikyn
17/10/2003
Use este código:
Para definir X, Y, Z e W de maneira que o código pegue a área ao redor do clique, vc pode fazer assim no OnMouseDown do seu form:
Se o código não funcionar ou tiver algum problema durante o uso do mesmo, deixe uma mensagem.
var DC : HDc; Canv: TCanvas; R, DRV: TRect; X1, Y1, W1, Z1: Integer; begin Canv := TCanvas.Create; DC := GetWindowDC( GetDeskTopWindow ); Canv.Handle := DC; DRV := Rect(0, 0, Image1.Width, Image1.Height); // Aqui você especifica qual área vai ser copiada: R := Rect( X1 , Y1 , Z1 , W1 ); Image1.Canvas.CopyRect( DRV, Canv, R ); ReleaseDC( GetDeskTopWindow, DC ); Canv.Free; end;
Para definir X, Y, Z e W de maneira que o código pegue a área ao redor do clique, vc pode fazer assim no OnMouseDown do seu form:
X1 := X - (Image1.Width div2); Y1 := Y - (Image1.Height div2); W1 := X + (Image1.Width div2); Z1 := Y + (Image1.Height div2);
Se o código não funcionar ou tiver algum problema durante o uso do mesmo, deixe uma mensagem.
GOSTEI 0