Programmation IV
Summer Semester 2002
School of Computer and Communication Sciences
Programming Methods Laboratory (LAMP)
 
 
Home
Staff
Research
Publications
Events
Teaching
  Prog IV
Jobs
   
 
  
     

Série 6 : Conception d'un langage d'images

Donnée

(ps) (ps.gz).

Bibliothèque

Vector.scala
Frame.scala
Graphics.scala
PostScript.scala
+ le fichier à modifier :
Painter-partial.scala

Fichiers de test

Pour utiliser la bibliothèque d'images, vous devez écrire des fichiers de test (exemple: Test.scala), qui définissent votre peintre de départ et toutes les transformations que vous lui appliquez, et qui enfin le dessinent.

Ensuite vous devez lancer l'interpréteur avec tous les fichiers (bibliothèque + fichier de test) au moyen de la commande :

surus Vector.scala Frame.scala Graphics.scala PostScript.scala Painter-partial.scala Test.scala

Exemples de fichier généré

Attention, la version actuelle de l'interpréteur est assez lente et il a fallu plusieurs dizaines de minutes pour générer le fichier présenté ci-dessus. Donc si vous voulez inventer vos propres compositions restez modestes dans vos ambitions...

Optionnel : pour voir le dessin s'afficher en temps réel

Fichiers supplémentaires : Screen.scala, Display.java.

Par défaut, le programme va générer un fichier PostScript contenant le dessin de l'image. En effet, dans le fichier Painter-partial.scala on utilise la classe PostScript pour créer l'objet de type Graphics qui nous permet d'afficher des lignes.

Par contre si vous désirez voir le dessin s'afficher en temps réel vous devez utiliser à la place de la classe PostScript, la classe Screen qui crée une fenêtre et affiche au fur et à mesure les segments ajoutés au dessin, c'est-à-dire remplacer dans le fichier de test les lignes

val psfile = "picture.ps";
val canvas: Graphics = PostScript(psfile, 2, 2);
par la ligne
val canvas: Graphics = Screen(800,800);

Dans ce cas vous devez au préalable compiler le fichier Display.java avec la commande
javac -d mon_rep Display.java
qui place les fichiers .class compilés dans le répertoire de votre choix mon_rep. Puis rendre ces fichiers accessibles en incluant leur répertoire dans la variable d'environnement CLASSPATH :
setenv CLASSPATH mon_rep:${CLASSPATH}
ou simplement
setenv CLASSPATH mon_rep
si la variable CLASSPATH n'est pas déjà définie.
     
   [an error occurred while processing this directive]  
Last modified: Monday, 13-Nov-2006 11:37:04 CET