Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi TeeChart - Zu großer Rand beim EMF-Export (https://www.delphipraxis.net/211104-teechart-zu-grosser-rand-beim-emf-export.html)

SteffenSchm 28. Jul 2022 16:25

TeeChart - Zu großer Rand beim EMF-Export
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo,

ich ärgere mich jetzt schon einige Tage mit dem Export eines TChart als emf rum. Das erzeugte und über das Clipboard kopierte emf zeigt unten und rechts einen zu gro0en Rand an. Leider tritt das nicht bei jedem Rechner/Monitor auf, sondern nur bei einigen Kollegen. Dummerweise auch nicht bei meinem, was die Behebung dieses Umstands nicht einfacher macht!

Auch wenn ich den Export über das von TeeChart mitgelieferte Dialogfenster mache (siehe Anhang), zeigt die Vorschau diesen grauen Rand (siehe Markierung im Anhang), der dann auch mit exportiert bzw. kopiert wird.
Man kann das Bild dann nach dem Einfügen in Word zuschneiden, aber bei vielen Bildern wird das schnell lästig.

Mir ist bewusst, dass das ein sehr spezielles Thema ist. Aber vielleicht hatte ja jemand dieses Problem auch schon und hat evtl. sogar eine Lösung!

Schönen Abend!
Steffen

BerndS 28. Jul 2022 16:36

AW: TeeChart - Zu großer Rand beim EMF-Export
 
Könnte das mit der Skalierung zusammenhängen. Ist da eventuell 125% aktiv?

himitsu 28. Jul 2022 17:33

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

Zitat von BerndS (Beitrag 1509441)
Könnte das mit der Skalierung zusammenhängen. Ist da eventuell 125% aktiv?

Viele Komponenten (z.B. TChart oder auch gewisse Reports) nutzen einen "Desktop"-Canvas (DC) oder den Canvas einer TForm, um interne Dinge (z.B. für Exports) zu zeichnen ... da rutscht dann eben auch die Monitor-Skalierung schön mit rein, obwohl sie dort intern eigentlich garnichts zu suchen hätte.

Bei neueren Delphis kann man in den Projektoptionen noch mehr/anderes bezüglich HighDPI einstellen.
Dort ein bissl rumspielen und schauen, ob sich die Auswirklungen auch diesbezüglich etwas verbessern. (z.B. wenn man seine Forms nicht vom System skalieren lässt)

Der schöne Günther 28. Jul 2022 17:36

AW: TeeChart - Zu großer Rand beim EMF-Export
 
Ich habe das entsprechende Projekt gerade nicht zur Hand, aber ich meine ja, das Problem haben wir auch - Bei DPI-Skalierung des Bildschirms fing der EMF-Export des TeeCharts dann an, dass riesige "Ränder" entstehen weil die Zeichenfläche größer gemacht wird, aber auf im gleichen Bereich gezeichnet wird.

Ich weiß nicht mehr, ob wir einen Workaround gefunden hatten oder tatsächlich ganz billig hingegangen sind, und es halt alternativ als extrem hochauflösendes Bitmap exportiert haben, damit wir wenigstens irgend etwas hatten.

SteffenSchm 28. Jul 2022 17:43

AW: TeeChart - Zu großer Rand beim EMF-Export
 
Danke für Eure schnelle Antworten!

Export als Bitmap haben wir jetzt auch als Zwischenlösung implementiert - macht aber die Word-Dateien, in die die Charts eingefügt werden, sehr groß!

Rumspielen werde ich morgen noch etwas. Ist bloß schwierig, wenn das Problem am eigenen Monitor nicht auftritt!

himitsu 28. Jul 2022 17:47

AW: TeeChart - Zu großer Rand beim EMF-Export
 
Du kannst doch mal probeweise deinen Monitor auf 125% einstellen.

Oder mit einem virtuellen HighDPI-Monitor arbeiten
Oder dir einen kleinen Monitor kaufen


https://www.dell.com/de-de/shop/dell...orzubeh%C3%B6r

Fritzew 28. Jul 2022 18:45

AW: TeeChart - Zu großer Rand beim EMF-Export
 
Das Problem ist, dass Teechart als Referenz Canvas den Bildschirm nimmt, dann aber die Skalierung nicht weiter berücksichtigt.
Lösung wenn auch als "Crack". Das erzeugte Ems noch mal durch ein "neues EMF" jagen das die Skalierung berücksichtigt.
Bin erst nächste Woche wieder im Büro, dann kann ich hier unseren "Hack" dafür posten. Sind nur ein paar Zeilen.

Der schöne Günther 28. Jul 2022 21:46

AW: TeeChart - Zu großer Rand beim EMF-Export
 
Liste der Anhänge anzeigen (Anzahl: 1)
Ich habe es jetzt einmal unter Delphi 11.1 und TeeChart Pro 2017.22 probiert: Hiermit wird es auch mit DPI-Skalierung korrekt exportiert:

Delphi-Quellcode:
begin
   var isEnhanced := CheckBox1.Checked;
   var metafile := Chart1.TeeCreateMetafile(isEnhanced, Chart1.GetRectangle());
   metafile.SaveToFile('c:\users\localUser\desktop\metafile.emf');
end;
Der Stolperstein war der zweite Parameter in TeeCreateMetafile(..): Mit
Delphi-Quellcode:
Chart1.BoundsRect
hatte es links oben dicke Ränder und rechts unten abgeschnitten. Mit stattdessen
Delphi-Quellcode:
Chart.GetRectangle()
kommt eine vernünftige Grafik raus, so wie auf dem Bildschirm

SteffenSchm 29. Jul 2022 07:26

AW: TeeChart - Zu großer Rand beim EMF-Export
 
Danke an alle, dass Ihr Euch mit dem Thema befasst - Die Delphi-Community ist echt großartig!

@Der schöne Günther:
Delphi-Quellcode:
GetRectange
hatte ich auch schon probiert, hat aber bei mir (bzw. bei meinen Kollegen, die das Problem an ihren Bildschirmen haben) auch nicht geholfen.

Dass es an der Skalierung der Monitore liegen könnte, hatte ich auch schon gedacht. Allerdings habe ich drei parallele Monitore. Der erste (der Laptop) ist auf 150% skaliert, die beiden anderen auf 100% - Bei mir gibt es auf allen drei Monitoren kein Problem
Mein Kollege, der das Problem mit den Rändern hat, hat den ersten Monitor auf 125% und den zweiten auf 100% und sagt, dass das Problem bei beiden Monitoren auftritt. (Überprüfung ist aber schwer, da wir alle im HomeOffice sind)

Wir werden wohl erst einmal beim Export als Bitmap bleiben.

@Fritzew
Ich wäre Dir sehr dankbar, wenn Du nächste Woche Deinen "Hack" zeigen könntest!

Besten Dank!
Steffen

Der schöne Günther 29. Jul 2022 08:18

AW: TeeChart - Zu großer Rand beim EMF-Export
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo-

Falls euer Word nicht mehr Word 1997 oder so ist wäre vlt. SVG auch eine Option? Auch wenn bei mir jetzt der Farbverlauf nicht mit rausgekommen ist, wäre das eigentlich ein universelles, platform-unabhängiges Format das man auch problemlos in Word einbetten kann.
Der Graph ließ sich in Word sogar noch nachträglich bearbeiten (Beschriftungen anpassen, Achsen verschieben, ...)

https://www.steema.com/docs/teechart...ortFormat.html


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:41 Uhr.
Seite 1 von 3  1 23      

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