AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Screenshot liefert seltsames Ergebnis
Thema durchsuchen
Ansicht
Themen-Optionen

Screenshot liefert seltsames Ergebnis

Ein Thema von DelphiUser123 · begonnen am 14. Feb 2024 · letzter Beitrag vom 16. Feb 2024
Antwort Antwort
DelphiUser123

Registriert seit: 23. Feb 2013
39 Beiträge
 
#1

Screenshot liefert seltsames Ergebnis

  Alt 14. Feb 2024, 22:13
Ich hatte ein altes Programm aus dem Jahr 2015. Durch Betätigung eines Buttons wird ein Screenshot erstellt und als Hintergrundbild festgelegt. Das dabei entstehende Bild wird jedoch geschnitten abgespeichert und geschnitten vergrößert auf dem Desktop dargestellt.
Mache ich ein neues Programm mit demselben Befehlssatz, habe ich dieses Geschnitten Problem nicht. Ich habe übrigens probiert, das Bild explizit auf Bildschirmgröße zu setzen. Wo ist hier bei meinem alten Programm der Wurm drin? Denn früher gab es diesen Fehler nicht...

Hier findet man den von mir benutzten Code:
https://swissdelphicenter.ch/de/showcode.php?id=259

Danke für Antworten.
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

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

AW: Screenshot liefert seltsames Ergebnis

  Alt 14. Feb 2024, 23:24
Hast du eine Bildschirmskalierung aktiv und ist das neue Programm mit DPI Support erstellt, aber das alte vermutlich nicht?
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
DelphiUser123

Registriert seit: 23. Feb 2013
39 Beiträge
 
#3

AW: Screenshot liefert seltsames Ergebnis

  Alt 15. Feb 2024, 14:50
Hallo,
ich habe festgestellt, dass die Funktionen Screen.width und Screen.height sich im alten und neuen Programm unterscheiden. Im alten: 2560/ 1440, im neuen dagegen (wo alles korrekt funktioniert): 3840 / 2160.
Wie kann ich die alten Werte überschreiben bzw. aktualisieren?
@Uwe Raabe: Leider kann ich mit dem Begriff "DPI Support" nichts anfangen.
  Mit Zitat antworten Zitat
Benutzerbild von gubbe
gubbe

Registriert seit: 8. Okt 2005
Ort: Schleswig-Holstein
127 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Screenshot liefert seltsames Ergebnis

  Alt 15. Feb 2024, 15:54
In neueren Delphi-Version gibt es in den Projektoptionen unter Anwendung - Manifest die Option "DPI-Unterstützung". Diese Einstellung wird in Deine Exe-Datei eingebunden und Windows kann feststellen, ob das Programm mit hochauflösenden Monitoren umgehen kann.
In älteren Version gibt es die Einstellung nicht und Windows skaliert das Programm automatisch, vergrößert also die Fenster-Darstellung, da man sonst auf einen hochauflösenden Monitor kaum noch etwas lesen könnte. Das entspricht der Einstellung "GDI-Skalierung" in neueren Versionen. Man sieht dies meist an den pixelig aussehenden Schriften und Grafiken erkennen, die ja durch die Vergrößerung keine höhere Auflösung bekommen.

Das kann die Unterschiede in den Rückgabe-Werte von Screen.width und Screen.height erklären. Windows teilt eine virtuelle Bildschirmauflösung mit, die zu der vorgenommenen Skalierung des Fensters passt.

Lässt sich das Programm nicht mit einer neueren Delphi-Version umsetzen? Ansonsten müsste man versuchen, die tatsächliche Bildschirmgröße zu übermitteln oder die Windows-Skalierung über eine Manifest-Datei auszuschalten. Dann ist die Frage, ob die Programmoberfläche noch lesbar ist.
  Mit Zitat antworten Zitat
DelphiUser123

Registriert seit: 23. Feb 2013
39 Beiträge
 
#5

AW: Screenshot liefert seltsames Ergebnis

  Alt 16. Feb 2024, 21:52
Zitat:
In neueren Delphi-Version gibt es in den Projektoptionen unter Anwendung - Manifest die Option "DPI-Unterstützung".
Danke, das war der springende Punkt.
  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 05:36 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz