Registriert seit: 10. Mär 2005
191 Beiträge
Delphi 5 Standard
|
Re: Screenshot anhand Mausposition
19. Mär 2005, 14:21
So habe fertig
Hier natürlich noch der komplette Code für alle die mal das selbe vorhaben:
Delphi-Quellcode:
procedure ScreenShot(var Bild: TBitMap; startX2 : string; startY2 : string; endeX2 : string; endeY2 : string);
var
Mydc : cardinal;
MausPos : TPoint;
startX, startY, endeX, endeY : integer;
begin
startX := strtoint(startX2);
endeX := strtoint(endeX2);
startY := strtoint(startY2);
endeY := strtoint(endeY2);
MyDc := GetDC(0);
GetCursorPos(MausPos);
Bild.PixelFormat := pf32bit;
begin
Bild.Width := endeX - startX;
Bild.Height := endeY - startY;
if Bild.Width < 0 then Bild.Width := Bild.Width * -1;
if Bild.Height < 0 then Bild.Height := Bild.Height * -1;
BitBlt(Bild.Canvas.Handle,0,0,endeX,(Screen.Height - startY),Mydc,startX,startY,SRCCOPY);
end;
ReleaseDC(0, Mydc);
end;
procedure TForm7.Button3Click(Sender: TObject);
var tempBild: TBitmap;
begin
WindowState := wsminimized;
Image1.picture := nil;
tempBild := TBitmap.Create;
Sleep(1000);
ScreenShot(tempBild,Edit2.Text,Edit1.Text,Edit3.Text,Edit4.Text);
Image1.Picture.Assign(tempBild);
tempBild.Free;
WindowState := wsNormal;
Form7.BringToFront;
SetForegroundWindow(FindWindow(nil,'Screenshot'));
end;
Info: Die Eingabe der Cords erfolgt über 4 TEdit Felder
Jens
|
|
Zitat
|