Use Jpeg procedure TForm1.snapscreen(a,b,c,d:Integer); var bmpscreen:Tbitmap; jpegscreen:Tjpegimage; FullscreenCanvas:TCanvas; dc:HDC; sourceRect, destRect: TRect; begin try dc:=getdc(0); fullscreencanvas:=Tcanvas.Create; fullscreencanvas.Handle:=dc; bmpscreen:=Tbitmap.create; bmpscreen.Width :=c-a; bmpscreen.Height :=d-b; sourcerect:=rect(0,0,c-a ,d-b ); destrect:= rect(a,b,c,d); bmpscreen.Canvas.CopyRect(sourcerect,fullscreenCanvas,destrect); jpegscreen:=Tjpegimage.Create ; jpegscreen.Assign (bmpscreen); jpegscreen.CompressionQuality:=100; jpegscreen.SaveToFile(ExtractFilePath(ParamStr(0))+'tmp.jpg'); FullscreenCanvas.Free; bmpscreen.Free; jpegscreen.Free ; ReleaseDC(0, DC); except end; end;
procedure TForm1.Button1Click(Sender: TObject); begin snapscreen(self.Left,self.Top,Self.Left+self.Width,Self.Top+self.Height); end;
// www.delphitop.com