Gr32 dicken Kreis zeichnen (Donut)
Bin gerade dabei mit dem Gr32 zu spielen, und dabei wollte ich einen Donut zeichnen.
einen einfachen Kreis habe ich schon, indem ich mir mit Circle die Punkte berechne lasse und dann kann ich den gefüllt oder als Linie zeichnen. Was wäre nun der klügste schritt daraus einen Donut zu machen? Mein erster Gedanke war einen größeren Kreis und die zwei abziehen, aber da finde ich keine Funktionen dafür. |
AW: Gr32 dicken Kreis zeichnen (Donut)
Einen großen Kreis zeichnen und einen kleinen mit der Hintergrundfarbe in die Mitte?
|
AW: Gr32 dicken Kreis zeichnen (Donut)
das ganze sollte dann auf einen "unbekannten" hintergrund gezeichnet werden, also da ist dann entweder schon ein PNG Bild dahinter oder irgendwas anderes, was ich dann nicht verlieren möchte.
Ich versuche es im Moment mit der TPolygon32 indem ich ein Outline und ein GRow mache, aber das funkt leider auch nicht so wie es sollte ... |
AW: Gr32 dicken Kreis zeichnen (Donut)
Da gibt es mehrere Möglichkeiten:
1) In GR32_VectorUtils gibt es die Methode Circle. Ich glaube Du mußt dann die Stiftstärke bei Pen auf die entsprechende einstellen. 2) Man kann es mit den Polygonen machen, indem man so ein Donut erzeugt. Das müßte ich selber gerade genau gucken. Habe es aber irgendwann schon mal gemacht. 3) Du nimmst die veraltete Unit von Angus : http://angusj.com/delphi/gr32_lines.php Es könnte sein, dass sie nicht ganz bei neueren Versionen von Gr32 funktioniert. Dafür gibt es aber schon Fixes. Frag dann mal nach. |
AW: Gr32 dicken Kreis zeichnen (Donut)
Zitat:
"Donut-Ergebnis" mit GR32 http://i68.tinypic.com/f3xgt1.png Ein Donut ist mittlerweile ziemlich simpel, zwei Ellipsen in einen TFlattenedPath rein. Dazu unbedingt GR32_Paths ansehen. Leider gibts derzeit keine Doku dazu, aber die Demos im Master helfen schon ziemlich weiter. Wichtig ist, dass du beim Polyfillmode des Renderers "pfEvenOdd" angibst, damit der "kleinere" Teil freigestellt/transparent wird. Eine schöne Erklärung zu den Filltypen (hat nichts mit Farbe, sondern mit Freistellung zu tun) findest du auf der ziemlich aktuellen Seite von Angus ... http://www.angusj.com/delphi/clipper...lyFillType.htm Und es gibt auch neueres von ihm für GR32 ... Siehe http://graphics32.org/news/newsgroup...ticle_id=13199 Hth, Peter |
AW: Gr32 dicken Kreis zeichnen (Donut)
oh danke :D
Habe es mittlerweile auch schon zusammengebracht.
Delphi-Quellcode:
falls es noch wer braucht.
var
pPoints : TArrayOfArrayOfFloatPoint; begin setlength(pPoints, 2); pPoints[0] := Circle(mPoint.X, mPoint.Y, radius); pPoints[1] := Grow(pPoints[0], width); GR32_Polygons.PolyPolygonFS(Bitmap, pPoints, Color); end; |
AW: Gr32 dicken Kreis zeichnen (Donut)
Zitat:
@Gruber_Hans_12345 Man kann solche Sachen in GR32 oft auf mehreren Wegen lösen. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:44 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