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

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, 39x aufgerufen)
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
10.064 Beiträge
 
Delphi 12 Athens
 
#2

AW: Screenshot Frage

  Alt 5. Aug 2025, 12:02
Mal dir doch einfach mal auf, von welcher Position aus der Quelle an welche Position im Ziel du den rechteckigen Ausschnitt kopieren möchtest.

Zum Beispiel kannst du bei einem Full-HD Bildschirm von Position (1850,1000)/(1920/1080) ein 70x80 Pixel großes Rechteck aus der rechten unteren Ecke kopieren. Als Ziel ist das dann, wenn es links oben landen soll, (0,0)/(70/80).

Du musst bei den Koordinaten immer beachten, auf welche Zeichenfläche sich diese beziehen (Quelle, Ziel).
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
Schuby

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

AW: Screenshot Frage

  Alt 5. Aug 2025, 12:37
Mal dir doch einfach mal auf, von welcher Position aus der Quelle an welche Position im Ziel du den rechteckigen Ausschnitt kopieren möchtest.
(Quelle, Ziel).


Hallo, schaue dir doch mal oben das Bild an, ich habe mein ausschnitt nur es liegt noch im ganzen Screen.
Ich muss diesen ausschnitt jetzt in einen anderen tRect kopieren. Und ich weiß nicht wie ?

PS der ausschnitt ist ganz unten rechts vom Monitor Bild

mfg
  Mit Zitat antworten Zitat
Redeemer

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

AW: Screenshot Frage

  Alt 5. Aug 2025, 12:46
Wenn du die Destination des Rechtecks ändern möchtest, musst du das Dest-Rect ändern. Spiele doch damit herum und schaue, was sich ändern.
Janni
2005 PE, 2009 PA, XE2 PA
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.576 Beiträge
 
Delphi 12 Athens
 
#5

AW: Screenshot Frage

  Alt 5. Aug 2025, 14:57
Wenn du die Destination des Rechtecks ändern möchtest, musst du das Dest-Rect ändern. Spiele doch damit herum und schaue, was sich ändern.
Und für den Anfang nicht so weit weg,
also anstatt sofort die rechte-untere Ecke, erstmal nur bissl rechts-runter.

z.B. Rect(30, 50, 30+70, 50+80) auf Rect(0, 0, 70, 80)
also bissl überlappend, damit auch immer etwas zu sehen ist
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
10.064 Beiträge
 
Delphi 12 Athens
 
#6

AW: Screenshot Frage

  Alt 5. Aug 2025, 15:01
Wie sieht denn dein aktueller Code aus? Du müsstest ja nun eine zweite TRect Variable haben. Und wenn du den Ausschnitt im Ziel direkt links oben haben möchtest, sieht das für einen 50x100 Pixel großen Ausschnitt z.B. so aus:
Delphi-Quellcode:
var
  TargetRect: TRect;
begin
  TargetRect := Rect(0, 0, 50, 100);
  ...
  Bild.Canvas.CopyRect(TargetRect, c, r);
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
Schuby

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

AW: Screenshot Frage

  Alt 5. Aug 2025, 17:06
Hallo zusammen, ok jetzt muss ich mal ausholen damit ihr versteht was ich machen will.
Ich spiele ein Spiel und habe mehrere Accounts, wenn ich ein spezielles Item suche muss
ich jeden acc einloggen um nach zu schauen wo es ist. Deswegen mache ich von jeden acc
ein Screenshot nur vom Inventar(4mal) und Lager(3mal), speichere dieses Bild in die Datenbank ab.

Dazu ziehe ich mein Inventar oben links in die Ecke und mache ein Screen. Das klappt super.
Besser wäre es aber wenn ich auf Inventar klicke und es bleibt rechts unten in der ecke
und ich muss es nicht verschieben.

Das ist zur Zeit mein Code.

Delphi-Quellcode:

//******************************************************************************
// Monitor ist 1920 x 1080
// x=1720
// y=400
// Image2.Canvas.CopyRect(Ziel, Image1.Canvas, Quelle);
//******************************************************************************

procedure TForm1.ScreenShot(Bild: TBitMap);
var
  c: TCanvas;
  r: TRect;
begin
  x:= 1720;
  y:= 400;

  c := TCanvas.Create;
  c.Handle := GetWindowDC(GetDesktopWindow);
  try
    r := Rect(0, 0, (Screen.Width -x ), (Screen.Height-y ));
    Bild.Width := (Screen.Width -x );
    Bild.Height := (Screen.Height -y);
    Bild.Canvas.CopyRect(r, c, r);
  finally
    ReleaseDC(0, c.Handle);
    c.Free;
  end;
end;

Es wird ein kleines Bild abgespeichert, wenn ich darauf klicke kommt ganz rechts ein vergrößertes Bild
damit ich meine Items besser sehe.

Ja es ist schon etwas blöde bei jeden acc das inventar in die linke obere ecke zu ziehen.

Ich habe schon einige tipps bekommen, aber sorry ich bekomme es einfach nicht hin.

mfg
Angehängte Grafiken
Dateityp: jpg M2.jpg (170,5 KB, 36x aufgerufen)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.576 Beiträge
 
Delphi 12 Athens
 
#8

AW: Screenshot Frage

  Alt 5. Aug 2025, 18:16
[deleted]
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu ( 5. Aug 2025 um 18:29 Uhr)
  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 13:25 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