On Mon, 5 Jun 2006 01:24:11 EDT
MLuque5130@aol.com wrote:
> 2) En fait je voudrais que le texte soit compris entre deux sinusoïdes
> et sur cet exemple seule la partie supérieure est modulée !
Voilà quelque chose d'approchant
%!PS
% (c) P. Kleiweg 1997
% adaptation plagiat M.L. 05/06/2006
%/Font /Utopia-Regular def
/Font /Times-Roman def
/warp { % x y 1 index => x y x
1 index % position horizontale du point courant X
periode N mul mul
cos 2 add
mul % hauteur finale Y
} bind def
/warpmove{
2 index { % détecte la position éventuelle d'un caractère ???
newpath
} if
warp moveto
pop false
} bind def
/warpline {
warp
lineto
} bind def
/warpcurve {
6 2 roll warp
6 2 roll warp
6 2 roll warp
curveto
} bind def
/warpit {
true
{ warpmove } { warpline } { warpcurve } { closepath } pathforall
pop
} bind def
297 600 translate
% taille de des caractères
Font findfont 40 scalefont setfont
/warptxt (Modulation d'amplitude) def % texte à déformer
/warpwidth warptxt stringwidth pop def % largeur horizontale du texte
/warphalf warpwidth 2 div def % demi-largeur horizontale
/periode {360 warpwidth div} bind def % une sinusoïde
/N 3 def % ondulation sur 3 périodes
%% modif 1
%% sinusoïde du haut
%% 2 sinusoïdes clippées
warphalf neg 20 moveto
warphalf neg 1 warphalf { 20 lineto } for % les 2 sinusoïdes
warphalf -1 warphalf neg { 22 lineto } for
closepath
%% modif 2
%% sinusoïde du bas
%% 2 sinusoïdes clippées
warphalf neg -20 moveto
warphalf neg 1 warphalf { -20 lineto } for % les 2 sinusoïdes
warphalf -1 warphalf neg { -22 lineto } for
closepath
%% modif 3
warphalf neg -12 moveto
warptxt true charpath
%% c'est parti !
warpit
gsave
.6 1 1 setrgbcolor
fill
grestore
stroke
showpage
-- Arnaud Schmittbuhl Montpellier, France
_______________________________________________
Liste de diffusion Syracuse
Syracuse@melusine.eu.org
http://melusine.eu.org/cgi-bin/mailman/listinfo/syracuse
Adresses alternatives du site :
http://syracuse.eu.org/syracuse/
http://193.55.139.7/syracuse/
Received on Mon Jun 5 13:16:25 2006
Cette archive a été créée par hypermail 2.1.8 : lun jun 05 2006 - 15:37:01 CEST