AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

TeeChart - Zu großer Rand beim EMF-Export

Offene Frage von "SteffenSchm"
Ein Thema von SteffenSchm · begonnen am 28. Jul 2022 · letzter Beitrag vom 2. Aug 2022
Antwort Antwort
Der schöne Günther

Registriert seit: 6. Mär 2013
6.213 Beiträge
 
Delphi 10 Seattle Enterprise
 
#1

AW: TeeChart - Zu großer Rand beim EMF-Export

  Alt 1. Aug 2022, 10:08
Ok, ich bezog mich auf "TeeChart Pro", nicht die kostenlose Version. Da sind bei mir ca ein Dutzend Export-Formate.
  Mit Zitat antworten Zitat
SteffenSchm

Registriert seit: 2. Nov 2004
Ort: Herzogenaurach
84 Beiträge
 
Delphi 10.3 Rio
 
#2

AW: TeeChart - Zu großer Rand beim EMF-Export

  Alt 1. Aug 2022, 13:58
Ich habe das Problem zumindest mal eingrenzen und auch auf meinem Arbeitsplatz sichtbar machen können.

Die Ränder in der exportierten emf-Datei treten immer dann auf, wenn der Hauptmonitor (der mit den Windows-Symbolleisten) auf mehr als 100% skaliert ist. Die Ränder werden auch umso größer, je höher die Skalierung dieses Monitors ist (z.B. bei 150% Skalierung des Hauptmonitors beträgt der Rand des emf 50% des Diagramms - also Gesamtgröße 150%).

Das hilft erst einmal, um das Problem über entsprechende Windowseinstellungen zu umgehen.

Jetzt muss ich nur noch suchen, wie man das im Delphi-Programm bei der Erstellung des emf berücksichtigen kann.
Steffen
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: TeeChart - Zu großer Rand beim EMF-Export

  Alt 1. Aug 2022, 14:19
Jupp, wie schon erwähnt, ist das Hauptproblem hier, dass TeeChart eben den Desktop als Referenz für die Ausgabe nutzt und dann halt die MonitorSkalierung sich dort böswillig rein hängt.

Die "richtige" Lösung wäre ja, wenn es im TeeChart repariert würde.

Nachträgelich das so hinzubiegen, dass es jetzt erstmal geht, gibt dann wieder Probleme, wenn Windows erneut an der MonitorAPI rumbspielt, was garantiert bald passiert.



Dein Programm läuft noch auf einer alten MonitorAPI-Version, bzw. auf Garkeiner/derErsten (wenn das Mainfest fehlt) ... über das Manifest kann man einstellen, welche Einstellungen Windows verwenden soll.
Dementsprechend ändert sich dann das Verhalten, aber grundsätzlich wird das auch nicht anders lösen, seöbst wenn mit PerMonitoDPI, weil das Fenster kann dann ebenfalls auf einem Monitor mit höherer DPI laufen.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
SteffenSchm

Registriert seit: 2. Nov 2004
Ort: Herzogenaurach
84 Beiträge
 
Delphi 10.3 Rio
 
#4

AW: TeeChart - Zu großer Rand beim EMF-Export

  Alt 1. Aug 2022, 16:17
Naja, auf eine Reparatur in TeeChart zu warten hat für mich eher keinen Sinn, zumal ich nicht die aktuelle Version von Delphi und TeeChart habe!

Mir würde es schon helfen, das Ganze nachträglich so hinzubiegen.
Als Nebenbei-Programmierer weiß ich aber nicht
- wie ich in Delphi die Skalierung des primären Monitors abfragen kann und
- wie ich die Größe der Zeichenfläche für das EMF beeinflussen kann
Steffen
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: TeeChart - Zu großer Rand beim EMF-Export

  Alt 1. Aug 2022, 16:39
zum Ersten:

Einfach Delphi-Referenz durchsuchenTForm.PixelsPerInch bei der Form, wo der Chart drauf liegt,
bzw. bei Screen in den jeweiligen Monitor schauen.

hier noch paar mögliche Stellen uvm.
Delphi-Quellcode:
// Self = die aktuelle Form

Self.PixelsPerInch
Self.CurrentPPI // bzw. Self.GetCurrentPPI
Self.ScaleFactor

Self.Monitor.PixelsPerInch
Self.DefaultMonitor.PixelsPerInch

Screen.PixelsPerInch
Screen.DefaultPixelsPerInch
Screen.PrimaryMonitor.PixelsPerInch

...
https://en.delphipraxis.net/topic/63...ays-identical/


das Zweite ... gute Frage
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu ( 1. Aug 2022 um 16:44 Uhr)
  Mit Zitat antworten Zitat
SteffenSchm

Registriert seit: 2. Nov 2004
Ort: Herzogenaurach
84 Beiträge
 
Delphi 10.3 Rio
 
#6

AW: TeeChart - Zu großer Rand beim EMF-Export

  Alt 1. Aug 2022, 17:19
Hi himitsu,

danke für Deine Antwort!
Aber bekomme ich aus dem Wert "PixelPerInch" des Monitors tatsächlich die Skalierung des Monitors (z.B. 125%) raus?
Und der Rand des TChart hängt nicht vom Monitor ab, auf dem das Chart gerade liegt, sondern immer vom Hauptmonitor!

Und dann wäre ja auch noch der zweite Teil

Ich habe als schnelle Lösung die Kopie-Funktion jetzt umschaltbar zwischen EMF und Bitmap gemacht. Wenn der Hauptmonitor nicht auf 100%-Skalierung steht, muss man eben als Bitmap kopieren.

Ich glaube, so schnell bekomme ich da keine bessere Lösung hin!
Steffen
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: TeeChart - Zu großer Rand beim EMF-Export

  Alt 1. Aug 2022, 18:12
Ganz sicher bin ich da auch nicht, weil mußte mich so jezt noch nicht damit beschäftigen.

Ich glaub 96 DPI kannst du als 100% ansehen und dann das mit den aktuellen DPI/PPI vergleichen.
Und vom Namen her würde ich mal denken, dass ScaleFactor der passende Wert sein könnte. ( 1.0 = 100% )
Ein Therapeut entspricht 1024 Gigapeut.
  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 02:40 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