Einzelnen Beitrag anzeigen

Nisbo

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

Screenshot anhand Mausposition

  Alt 16. Mär 2005, 20:09
Moin Moin

ich versuche gerade einen Screenshot anhand der Mausposition zu machen, also der start soll die Mausposition sein und das ende unten links, allerdings passt das alles nicht so richtig, zuerst hatte ich zwar den beginn an der richtigen stelle, nur hatte dann links und oben schwarze balken, jetzt habe ich es mit 2 rect versucht, aber dann kommen teilweise verzerrte bilder raus oder nur schwarz

wie muß ich die rects jetzt am besten anpassen ?

Delphi-Quellcode:
procedure ScreenShot(Bild: TBitMap);
var
  c : TCanvas;
  r,a : TRect;
  breite, oben, links, hoehe : integer;
  MausPos: TPoint;
begin
  c := TCanvas.Create;
  c.Handle := GetWindowDC(GetDesktopWindow);

  try

    GetCursorPos(MausPos);

    links := MausPos.x;
    oben := MausPos.y;
    hoehe := Screen.Height - oben;
    breite := Screen.Width - links;
  
    a := Rect(links, oben, breite, hoehe);
    r := Rect(0, 0, breite, hoehe);
    Bild.Width := breite;
    Bild.Height := hoehe;
    Bild.Canvas.CopyRect(r, c, a);
  finally
    ReleaseDC(0, c.Handle);
    c.Free;
  end;
end;
Jens
  Mit Zitat antworten Zitat