Wow .... Mal eben ein abgerundetes Rechteck zu zeichnen ist nicht ohne, wenn ich mir den Code des Rechtecks anschaue. Also ein Großteil habe ich verstanden, wobei ich bei
procedure TAdCanvasQuadObject.Generate; noch nicht so den Durchblick habe
By the way:
Zitat von
igel457:
[...]du nirgendst Speicherüberläufe einbaust.[...]
Kreis ohne Füllung -> IntegerÜberlauf
Und eine Frage bei dem Kreis:
Die Anzahl der Schritte sind ja: 2 * PI * r * (0,1/(0,01 * r))
Wenn mich nicht alles täuscht lässt sich das vereinfachen:
2 * PI * r * ((1/10)/(1/100)) * (1/r) | Mit dem Kerwert malnehmen
2 * PI * r * (10
0/1
0) * (1/r)
2 * PI * r/r * 10
2 * PI * 10
20 * PI
Siehe
TAdCanvasEllipseObject.Generate:
steps := round(Pi * 2 * ar * (0.1/(ar*0.01)));
Wozu so kompliziert
Abgesehen davon wird der Kreis bei größerem Radius immer schlechter, da es immer 63 Ecken sind.
Übrigens wie kann es sein, dass ein Kreis mit der SimpleDemo gezeichnet kein IntegerÜberlauf verursacht, während er in meinem Editor (komischerweise seit kurzem) einen solchen verursacht?
Ich habe mein WorkAround verbessert, da vorher es zu Integerüberläufen kam.
MfG
xZise