![]() |
Fastreport 2025.1 Chart wird nur verkleinert dargestellt
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo zusammen
ich bin aktuell dabei einige QuickReports auf FastReport umzustellen. Das Ganze unter Delphi XE Dabei übertrage ich ein TChart mit
Delphi-Quellcode:
an den Report.
lPictureView := TFrxPictureView(frpStandalone.FindObject('rpim03Chart'));
if (lPictureView <> nil) and (FChart <> nil) then lPictureView.Picture.Assign(FChart.TeeCreateMetafile(False, Rect(0, 0, Round(lPictureView.Width), Round(lPictureView.Height)))); In meiner Entwicklungsumgebung mit Bidlschirmauflösung 1920 x 1200 wird der Chart im Report korrekt dargestellt Drucke ich denselben Report auf einem Laptop mit 3840 x 2400, Skalierung 225% aus, ist der Chart stark verkleinert (s.Anhang) Egal wie ich die Properties AutoSize, KeepAspectRatio und Stretched auch setze, das Problem bleibt Hat jemand einen Lösungsansatz? Grüße und Danke Gerd |
AW: Fastreport 2025.1 Chart wird nur verkleinert dargestellt
Das Problem kommt mir bekannt vor. Wir verwenden eine auf TMetaFile-Instanzen basierende Druckvorschau und hatten diesbezüglich ebenfalls Probleme, dass eine mittels TChart.TeeCreateMetafile erzeugte TMetaFile-Instanz beim Einfügen falsch skaliert wurde, wenn die Bildschirmskalierung nicht auf 100% stand.
Ich habe als Lösung eine Routine erstellt, welche mir in Abhängigkeit der Bildschirmskalierung zwei Faktoren ermittelt, welche ich dann benutze, um das an TeeCreateMetafile übergebene Rechteck anzupassen. Die Routine selber verwendet dazu einen Thread, welcher mittels SetThreadDpiAwarenessContext zunächst seine DPI Awareness auf per-Monitor V2 (DPI_AWARENESS_CONTEXT_PER_MONITOR_AWARE_V2) stellt, um unabhängig von der DPI Awareness des Hauptprogramms zu sein. Anschließend wird mittels GetDpiForMonitor die DPI des Monitors ermittelt. Das ganze ins Verhältnis zu 96 DPI gesetzt ergibt dann die oben genannten Faktoren. Des weiteren setzen wir den ersten Parameter von TeeCreateMetafile auf True, um eine erweiterte ("enhanced") TMetaFile-Instanz zu erhalten. Ich weiß allerdings nicht, ob dies für das Problem relevant ist. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:26 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