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
Benutzerbild von roga
roga

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

AW: Chart mit sauberen Linien

  Alt 10. Jan 2011, 08: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.667 Beiträge
 
Delphi 12 Athens
 
#2

AW: Chart mit sauberen Linien

  Alt 10. Jan 2011, 09: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
 
#3

AW: Chart mit sauberen Linien

  Alt 10. Jan 2011, 10: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
 
#4

AW: Chart mit sauberen Linien

  Alt 16. Mär 2011, 11: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
Angehängte Grafiken
Dateityp: png chart_smooth.png (150,1 KB, 47x aufgerufen)
Marco Warm
TUO
TheUnknownOnes.net

Geändert von MarcoWarm (16. Mär 2011 um 11:02 Uhr)
  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 07:08 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