AGB  ·  Datenschutz  ·  Impressum  







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

Chart mit sauberen Linien

Ein Thema von roga · begonnen am 8. Jan 2011 · letzter Beitrag vom 16. Mär 2011
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#11

AW: Chart mit sauberen Linien

  Alt 10. Jan 2011, 00:00
ab XP ist die benötigte gdiplus.dll an Bord, einsetzen tue ich es seit D7, müßte aber IMHO auch mit älteren Versionen laufen.
DirectDraw.pas meine ich unter D7 benötigt zu haben , die .inc Dateien müssen eigentlich über irgendwelche Fremdpakete da reinrutschen, ich benötige sie nicht.
Allerdings ist mein Paket von ca. 2002 und die drei Units umbenannt wegen Kompatibilitätsproblemen mit Chartkomponenten welche anscheinend gleichnamige, aber anders implementierte Units verwenden.
Wenn man davon ausgehen kann daß überwiegend Win7 aufwärts im Einsatz sein wird werde ich mir Direct2D etwas näher zu Gemüte führen.
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
Benutzerbild von roga
roga

Registriert seit: 15. Jun 2008
Ort: Sachsen-Anhalt
109 Beiträge
 
Delphi XE8 Professional
 
#12

AW: Chart mit sauberen Linien

  Alt 10. Jan 2011, 09:11
Um nochmal auf folgende Fehlermeldung zurück zu kommen:

"[DCC Fehler] DirectDraw.pas(358): E2154 Typ 'IDirectDrawSurface' benötigt Finalization - nicht im varianten Record erlaubt"

Eine Änderung in der Datei "DirectDraw.pas" ab Zeile 328 scheint den Fehler zu beheben:
Delphi-Quellcode:
// Delphi 5 and up don't allow interfaces in variant records
// so we have to use pointers instead (which can be type-casted into interfaces):

//{$IFDEF COMPILER5_UP}
// PDirectDrawSurface = Pointer;
//{$ELSE}
// PDirectDrawSurface = IDirectDrawSurface;
//{$ENDIF}

  PDirectDrawSurface = Pointer;
Ronald
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.619 Beiträge
 
Delphi 12 Athens
 
#13

AW: Chart mit sauberen Linien

  Alt 10. Jan 2011, 10:03
Ich vermute, dass Deine Compilerversion nicht korrekt erkannt wurde und das IFDEF deshalb nicht greift. Meist wird dafür eine *.inc verwendet, ich würde diese einfach erweitern, das ist m.E.n. die sauberere Lösung.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von roga
roga

Registriert seit: 15. Jun 2008
Ort: Sachsen-Anhalt
109 Beiträge
 
Delphi XE8 Professional
 
#14

AW: Chart mit sauberen Linien

  Alt 10. Jan 2011, 11:21
Du hast Recht - hab mir die aktuelle jedi.inc geladen und alles wird korrekt erkannt. Danke!
Ronald
  Mit Zitat antworten Zitat
Benutzerbild von MarcoWarm
MarcoWarm

Registriert seit: 10. Sep 2003
Ort: Großhennersdorf
532 Beiträge
 
Delphi 10.1 Berlin Professional
 
#15

AW: Chart mit sauberen Linien

  Alt 16. Mär 2011, 12:00
Ein Vorschlag:
Es geht durchaus mit der freien TChart Version glatte Kanten zu zeichnen.

Den Vorschlag dazu hab ich hier gefunden: http://www.codeproject.com/KB/GDI/AntiAliasing.aspx

Im Anhang ist ein Bild einer Anwendung, die wir bei uns im Haus verwenden. Der Graph ist ein geglättetes normales TChart.

Eckpunkte der Vorgehensweise.
  • TChart unsichtbar und 4 mal so groß wie das eigentliche Bitmap erzeugen.
    Alle Schriftarten bzw. Strichstärken mit 4 multiplizieren
  • Nach Veränderung des Chart selbiges mit Chart.PaintTo auf ein Bitmap zeichen, welches ebenfalls 4 mal die Größe des Zielbildes hat
  • Dieses Große Bild wird per StretchDIBits auf das eigentlich anzuzeigende Bitmap gemalt (SetStretchBltMode(bmpSmall.Canvas.Handle, HALFTONE); nicht vergessen)
  • bmpSmall kannst du dann einem TImage zuweisen und du bist fertig.

Beispiel-Code auf Anfrage

Gruß
Marco
Miniaturansicht angehängter Grafiken
chart_smooth.png  
Marco Warm
TUO
TheUnknownOnes.net

Geändert von MarcoWarm (16. Mär 2011 um 12:02 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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:37 Uhr.
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