AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Screenshot Frage

Ein Thema von Schuby · begonnen am 5. Aug 2025 · letzter Beitrag vom 6. Aug 2025
Antwort Antwort
Schuby

Registriert seit: 25. Dez 2018
119 Beiträge
 
#1

Screenshot Frage

  Alt 5. Aug 2025, 07:51
Guten morgen, ich habe mir einen Code besorgt wo ich von meinen Monitor ein Screen mache und nur
links oben einen kleinen teil kopiere und abspeichern kann. (Das haut auch hin)

Nun versuche ich einen ganz kleinen Teil unten rechts von meinen Monitor einen Screen zu kopieren.
Und ich komme nicht weiter,

Hier mal mein Code

Delphi-Quellcode:
//******************************************************************************
// Monitor ist 1920 x 1080
// x = 1720
// y = 400
//
//******************************************************************************
procedure ScreenShot(Bild: TBitMap);
var
  c: TCanvas;
  r: TRect;
begin
  c := TCanvas.Create;
  c.Handle := GetWindowDC(GetDesktopWindow);
  try
    r := Rect(0, 0, (Screen.Width ), (Screen.Height));
    Bild.Width := (Screen.Width -x ); //-x
    Bild.Height := (Screen.Height -y); //-y
    Bild.Canvas.CopyRect(r, c, r);
  finally
    ReleaseDC(0, c.Handle);
    c.Free;
  end;
end;


procedure TForm1.Button1Click(Sender: TObject);
begin
  Form1.Visible := False;
  Sleep(STime); // some delay, ein wenig Zeit geben
  ScreenShot(Char1_1.Picture.BitMap);
  Form1.Visible := True;
end;

mfg
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: Unterhaching
11.421 Beiträge
 
Delphi 12 Athens
 
#2

AW: Screenshot Frage

  Alt 5. Aug 2025, 08:21
Schau Dir mal die Parameter von CopyRect an: Bild.Canvas.CopyRect(r, c, r); Da kannst Du die Position der Quelle bestimmen, welche Du momentan identisch mit der Position auf dem Ziel definierst.

......
Lizbeth W.
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
Schuby

Registriert seit: 25. Dez 2018
119 Beiträge
 
#3

AW: Screenshot Frage

  Alt 5. Aug 2025, 09:53
Sorry ich schaffe es nicht, so ein großer Programmierer bin ich nicht.



mfg
  Mit Zitat antworten Zitat
Redeemer

Registriert seit: 19. Jan 2009
Ort: Kirchlinteln (LK Verden)
1.136 Beiträge
 
Delphi 2009 Professional
 
#4

AW: Screenshot Frage

  Alt 5. Aug 2025, 09:57
Du musst bei CopyRect zwei verschiedene Rects als Argument verwenden. Mit zwei gleichen Rects wie bei dir lässt sich nur ein Bereich oben links in unveränderter Position und Größe kopieren.

Benutze also zwei verschiedene Parameter, spiele mit ihren Werten herum und prüfe, wie sich das Ergebnis ändert. Ebenfalls gut: Dokumentation lesen: Delphi-Referenz durchsuchenTCanvas.CopyRect
Janni
2005 PE, 2009 PA, XE2 PA

Geändert von Redeemer ( 6. Aug 2025 um 09:10 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.771 Beiträge
 
Delphi 12 Athens
 
#5

AW: Screenshot Frage

  Alt 5. Aug 2025, 10:11
Ebenfalls gut: Dokumentation lesen
OT: Antwort eines Kunden auf einen ähnlichen Hinweis von mir: "Ach, es geht viel schneller wenn ich Sie anrufe."
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Schuby

Registriert seit: 25. Dez 2018
119 Beiträge
 
#6

AW: Screenshot Frage

  Alt 5. Aug 2025, 11:19
Ich schaffe es nicht, wie gesagt ich bin kein ProfiProgrammierer.

Ich ahbe es geschafft den Teil den ich brauche zu Kopieren, aber alles andere ist weiß.
Wie kopiere ich diesen Teil in ein anderes TRect.


mfg
Angehängte Grafiken
Dateityp: jpg a_screen.jpg (5,4 KB, 38x aufgerufen)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:31 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz