Einzelnen Beitrag anzeigen

Nisbo

Registriert seit: 10. Mär 2005
191 Beiträge
 
Delphi 5 Standard
 
#14

Re: Screenshot anhand Mausposition

  Alt 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
  Mit Zitat antworten Zitat