Thema: Delphi eingegrenzter Screenshot

Einzelnen Beitrag anzeigen

Benutzerbild von Evian
Evian

Registriert seit: 10. Apr 2003
Ort: Berlin
485 Beiträge
 
Delphi 6 Professional
 
#1

eingegrenzter Screenshot

  Alt 18. Mai 2004, 15:07
Ich habe in der Codelibrary folgenden Code, zum erzäugen
einens Screenshots gefunden:

Code:
const
  cTileSize = 50;

function TForm1.GetScreenShot: TBitmap;
var
  Locked: Boolean;
  X, Y, XS, YS: Integer;
  Canvas: TCanvas;
  R: TRect;
begin
  Result := TBitmap.Create;
  Result.Width := Screen.Width;
  Result.Height := Screen.Height;
  Canvas := TCanvas.Create;
  Canvas.Handle := GetDC(0);
  Locked := Canvas.TryLock;
  try
    XS := Pred(Screen.Width div cTileSize);
    if Screen.Width mod cTileSize > 0 then
      Inc(XS);
    YS := Pred(Screen.Height div cTileSize);
    if Screen.Height mod cTileSize > 0 then
      Inc(YS);
    for X := 0 to XS do
      for Y := 0 to YS do
      begin
        R := Rect( 
          X * cTileSize, Y * cTileSize, Succ(X) * cTileSize,
          Succ(Y) * cTileSize
        );
        Result.Canvas.CopyRect(R, Canvas, R);
      end;
  finally
    if Locked then
      Canvas.Unlock;
    ReleaseDC(0, Canvas.Handle);
    Canvas.Free;
  end;
end;
Nun möchte ich aber kein Bitmap vom Gesammten Bildschirm, sondern nur
eines bestimmten Bereiches. Also von Position x1/y1 bis x2/y2. Ich habe
schon ein wenig am Code rumgewurschtelt, aber bis jetzt ist nix wirklich brauchbares
rausgekommen. Kann mir vielleicht jemand einen Tip geben, was ich am Code verändern muss, damitt es
funktioniert?!
-> www.Phillsoft.de

Ich bin nun Mathematiker, aber meine Freundin bleibt trotzdem unberechenbar!
  Mit Zitat antworten Zitat