Delphi-PRAXiS
Seite 2 von 2     12   

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/)
-   -   Probleme mit AngleArc (https://www.delphipraxis.net/82817-probleme-mit-anglearc.html)

Robert Marquardt 20. Dez 2006 17:58

Re: Probleme mit AngleArc
 
Zitat:

Zitat von marabu
warum mischst du Canvas-Methoden und direkte API-Aufrufe? TCanvas hat eine Methode Arc(), aber egal.

AngleArc und Arc sind verschiedene Funktionen. Die Methode Arc bildet nur auf Windows.Arc ab. AngleArc ist keine TCanvas-Methode, da es AngleArc erst ab Win NT gibt.
Ich habe mal AngleArc fuer eine Komponente gebraucht, die einen Dreiviertelkreisstreifen eines Messgeraetes in Falschfarben anzeigt. Da muss man allerdings noch einige Pixel interpolieren, da konzentrische Kreise/Kreisboegen nicht alle Pixel abdecken.

marabu 20. Dez 2006 18:17

Re: Probleme mit AngleArc
 
Hallo Robert,

danke für die Info - auch wenn ich die Zeit zwischen Beitrag #2 und #5 dazu genutzt habe mich selbst zu informieren. Aber auch der direkte Aufruf von Windows.Arc() hätte mich irritiert, wenn doch gerade mit TCanvas gearbeitet wird. Aber wie du schreibst: Durch die Abbildung auf die GDI-Funktionen gibt es ja keine Inkonsistenzen. Fehlende Pixel sind mir bei der Verwendung von AngleArc() gar nicht aufgefallen. Vielleicht weil ich die Zeichenbreite des Stiftes auf 3 gesetzt hatte. Oder ich brauche nun doch bald eine Sehhilfe.

Freundliche Grüße

Robert Marquardt 20. Dez 2006 18:40

Re: Probleme mit AngleArc
 
Genau die Stiftbreite ist es. Malt man konzentrische Kreise/Kreissegmente mit AngleArc mit Stiftbreite 1, dann gibt es eben Fehlstellen. Das sind Rundungsartefakte, da ja auf Pixel abgebildet wird.
Einen breiteren Stift konnte ich in meiner Komponente nicht nehmen, da dies ja die andersfarbigen benachbarten Kreissegmente uebermalen wuerde. Ich habe dann die Fehlstellen einfach interpoliert.

Ja, Kreise malen ist nicht einfach.

DP-Maintenance 21. Dez 2006 06:42

DP-Maintenance
 
Dieses Thema wurde von "r_kerber" von "Programmieren allgemein" nach "VCL / WinForms / Controls" verschoben.
Das Thema hat eindeutig mit Delphi zu tun und gehört demzufolge nicht nach Programmieren allgemein.


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:19 Uhr.
Seite 2 von 2     12   

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 by Thomas Breitkreuz