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
BerndS
Online

Registriert seit: 8. Mär 2006
Ort: Jüterbog
493 Beiträge
 
Delphi 12 Athens
 
#1

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

  Alt 28. Jul 2022, 16:36
Könnte das mit der Skalierung zusammenhängen. Ist da eventuell 125% aktiv?
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

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

  Alt 28. Jul 2022, 17:33
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)
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu (28. Jul 2022 um 17:38 Uhr)
  Mit Zitat antworten Zitat
Der schöne Günther

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

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

  Alt 28. Jul 2022, 17:36
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.
  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 28. Jul 2022, 17:43
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!
Steffen
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

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

  Alt 28. Jul 2022, 17:47
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
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu (28. Jul 2022 um 17:50 Uhr)
  Mit Zitat antworten Zitat
Fritzew

Registriert seit: 18. Nov 2015
Ort: Kehl
678 Beiträge
 
Delphi 11 Alexandria
 
#6

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

  Alt 28. Jul 2022, 18:45
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.
Fritz Westermann
  Mit Zitat antworten Zitat
Der schöne Günther

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

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

  Alt 28. Jul 2022, 21:46
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 Chart1.BoundsRect hatte es links oben dicke Ränder und rechts unten abgeschnitten. Mit stattdessen Chart.GetRectangle() kommt eine vernünftige Grafik raus, so wie auf dem Bildschirm
Angehängte Grafiken
Dateityp: jpg 125 dpi.jpg (66,8 KB, 20x aufgerufen)
  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 19:21 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