Registriert seit: 7. Apr 2022
40 Beiträge
|
AW: TeeChart - Zu großer Rand beim EMF-Export
29. Jul 2022, 11:15
Wir hatten ein ähnliches Problem in Zusammenhang mit der Skalierung in Delphi 5. Die Skalierung des primären Monitors beeinflusste die Darstellung, auch wenn die Grafik auf einem anderen Monitor angezeigt wurde.
Ich habe das dann so gelöst, dass ich in einem Thread mittels SetThreadDpiAwarenessContext die DPI Awareness auf per Monitor (V2) stelle, anschließend mittels GetDpiForMonitor die tatsächlichen DPI des primären Monitors ermittle und daraus zwei Skalierungsfaktoren berechne, die letztendlich das Ausgaberechteck skalieren.
Allerdings verwenden wir bei der Erstellung des Metafiles nicht das Rechteck des Diagrams, sondern Abmessungen eines Ausgabebereichs innerhalb eines anderen Metafiles, in der das Diagramm dann mittels StretchDraw ausgegeben wird. Das ganze ist Teil einer auf Metafiles basierenden Druckvorschau.
In Delphi 10 / Delphi 11 wurde diese zusätzliche Skalierung bis auf weiteres wieder entfernt. Allerdings sind unsere Anwendungen bislang auch noch nicht als DPI Aware gekennzeichnet.
|