Zitat von
negaH:
Das ist mitnichten ein Problem. Du skalierst dann einfach schon vorher die Spline Vektoren auf eine Größe die eine ausreichende Genauigkeit in "Pixeln" ergibt. Die Umwandlung der TRect Koordinaten enthält dann ein Downscaling per DIvision um den gleichen Faktor des vorherigen Upscaling. Es entstehen Fließkommavektoren für Linien mit der gewählten Auflösung. EIn Faktor von 1000 im Upsclaing würde also Vektoren erzeugen mit 3 Nachkommastellen Genauigkeit. Die Genauigkeit die du damit theoretisch erzielen kannst ist 2^48/2^32 = 2^16 = 16 Bits geringer als mit Floats, das wären bei Floats gerademal 8 Prozent bessere Genauigkeit.
So ähnlich (Upscaling + Weichzeichnen) nutze ich die von dir vorgeschlagene Lösung im Moment. Allerdings nicht mit GetRegionData sondern direkt mit der Bitmap.
Zitat von
negaH:
Ergo: kein reales Argument.
Aber! wenn du sagst ich möchte es mathematisch erlernen und wissen dann ist das ein unschlagbares Argument
Genau
Zitat von
kalmi01:
Das wird nicht gehen (ausreichen).
Die Outline eines Splines kannst Du nicht mit einem einzigen Spline definieren.
Bei einer gleichmässigen Strichstärke brauchst Du min. 2, max. 3 Splines für obere Outline, dito für die Untere, oder aber NURBS.
Bei einer variierenden Strichstärke werden es 4-6 Splines je Seite.
@Kalmi: ich bezog das auf die bereits geteilten Beziér-Kurven. Diese werden so "gerade" sein, dass man die beide Outlines mit jeweils einer Kurve annähern kann.