Commencer un nouveau dessin
Commencer un nouveau dessin consiste essentiellement à déclarer où s'effectueront les dessins. Le plus simple est d'utiliser la fenêtre graphique par défaut , mais vous pouvez également afficher un dessin dans une fenêtre graphique existante, dans l'une de ses vues, dans un dialogue ou par dessus un plot SmileLab.
NB : Pour utiliser la bibliothèque de dessin de Smile, vous devrez écrire des scripts, par exemple à l'aide d'un terminal AppleScript.
Toutes les commandes de dessin doivent être encapsulées entre des commandes d'ouverture et de fermeture de dessin : les commandes d'ouverture de dessin sont BeginFigure, BeginFrontFigure, BeginPDF et BeginContext. Les commandes de fermeture de dessin sont respectivement EndFigure, EndFrontFigure, EndPDF et EndContext.
- Pour dessiner dans la fenêtre graphique par défaut, utilisez BeginFigure(0) ... EndFigure() (en passant zéro à BeginFigure). Si la fenêtre graphique par défaut n'existe pas, elle sera créé sur BeginFigure(0). La fenêtre graphique sera mise à jour sur EndFigure().
set x to 500
BeginFigure(0)
CirclePath({x / 2, x / 2}, x / 10)
DrawPath(2)
EndFigure()
-
Pour dessiner dans une fenêtre graphique ou dans une vue existante, utilisez BeginFigure(w) ou BeginFrontFigure(w), où w est une référence à la fenêtre ou à la vue. Les commandes de dessin doivent être appelées ensuite et se finir par EndFigure() ou EndFrontFigure() pour que le dessin soit effectivement tracé. Les graphic window et les chart views ont deux enplacements de dessins PDF : l'encapsulation BeginFigure ... EndFigure dessine au fond de la fenêtre, et BeginFrontFigure ... EndFrontFigure dessine au premier plan de la fenêtre. Les plots de SmileLab sont dessinés entre ces deux plans, ce qui rend possible leur personnalisation par l'utiilisation de la bibliothèque de dessin.
set the_ppties to {pagewidth:4 * 72, pageheight:4 * 72, name:"4 inches square"}
set the_gw to make new graphic window with properties the_ppties
BeginFigure(the_gw)
-- écrire ici les commandes de dessin
EndFigure()
-
Pour créer un enregistrement PDF sans l'afficher spécifiquement dans un objet de Smile, ouvrez le graphique avec BeginPDF. Vous devez passer la taille du PDF. Après vos commandes graphiques, utilisez EndPDF() pour obtenir l'enregistrement PDF - un texte commençant par les quatre caractères %PDF. La quantité retournée par EndPDF() est un enregistrement PDF valide que vous pouvez enregistrer directement dans un PDF, ou charger dans un objet de Smile qui supporte les PDF (une graphic window, une graphic view, ou un conteneur de PDF dans un dialog).
set x to 400
BeginPDF({0, 0, x, x / 1.33})
SetTextFont("Arial")
SetTextSize(x / 10)
TextMoveTo({x / 2, x / 2.66})
DrawString("[h]My 1^{st} PDF file!")
set the_pdf to EndPDF()
-- écrit un nouveau fichier sur le bureau, puis écrit le contenu PDF dans ce fichier et l'ouvre dans Aperçu
tell application "Finder" to set the_file to (make new file at desktop with properties {name:(make new name) & ".pdf" }) as alias
write the_pdf to the_file
tell application "Preview" to open the_file
Import script
Les commandes de dessin
La bibliothèque de dessin fournit des commandes permettant de dessiner des formes, des images ou du texte, et de modifier les paramètres de dessin. La plupart des commandes sont définies dans le dictionnaire de la bibliothèque de dessin. Si vous souhaitez réaliser des dessins géométriques, vous voudrez peut-être également utiliser les commandes du dictionnaire de Geometry.osax. Vous pouvez consulter ces dictionnaires depuis le menu Fichier ▸ Ouvrir un dictionnaire.
NB : Les commandes de dessin de textes acceptent une syntaxe permettant de dessiner des caractères spéciaux, documentée sur cette page.
|