![]() |
Screenshot liefert seltsames Ergebnis
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: ![]() Danke für Antworten. |
AW: Screenshot liefert seltsames Ergebnis
Hast du eine Bildschirmskalierung aktiv und ist das neue Programm mit DPI Support erstellt, aber das alte vermutlich nicht?
|
AW: Screenshot liefert seltsames Ergebnis
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. |
AW: Screenshot liefert seltsames Ergebnis
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. |
AW: Screenshot liefert seltsames Ergebnis
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:55 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 by Thomas Breitkreuz