Satimage Précédent | Suivant
Texte en arc de cercle
Accueil Documentation Smile La bibliothèque de dessin Samples Texte en arc de cercle  
Pour écrire du texte autrement qu'horizontalement, vous devez appliquer une transformation géométrique. Cela peut être fait en utilisant SetTransformation.

Vous trouverez ici différentes utilisations de SetTransformation :
  • le premier appel décale l'origine au centre du cercle,
  • puis une première rotation est effectuée,
  • et enfin sont appliquées des rotations incrémentées successivement.
SetTransformation s'applique à l'état courant (SetTransformation est relatif, pas absolu), ce qui fait que les rotations se cumulent.
Importer le script

on SetRotation(a)
    SetTransformation({cos a, sin a, -1 * (sin a), cos a, 0, 0})
end SetRotation

-- variables that you can adjust
set s to "What a wonderful world!"
set d to 500
set da to pi / 30
set letter_size_ratio to 0.6

-- prepare data
set c to {d / 2, d / 2}
set r to {0, d / 2.5}
set n to s's length

BeginFigure(0)
SetTextSize(d * da * letter_size_ratio)
SetTextFont("Courier")
-- set the origin of coordinates to center
SetTransformation({1, 0, 0, 1} & c)
SetRotation(n / 2 * da)
repeat with i from 1 to n
    SetFillColor({1 - i / n, 1 / 2, i / n})
    SetRotation(-da)
    TextMoveTo(r)
    DrawString("[h]" & character i of s)
end repeat
EndFigure()
English version
Copyright ©2008 Paris, Satimage