======= Projet Processing : Générateur de Signe ======= * Porteur(s) du projet : Mégan Dorigo * Date : 14/05/2018 * Licence : libre ! * Contexte : Labo expérimentations & recherches. Réaliser un programme Processing incluant l'utilisation d'une librairie et d'une classe que vous avez développé. * Sources : {{:wiki:projets:generateur-de-signe:generateur_7.zip|}} ==== Intention ==== Créer un programme générant aléatoirement des signes, en combinant de 0 à 3 signes afin de créer de nouveaux signes primaires pour pouvoir ensuite en dégager une interprétation personnelle, suivant l'exemple des interprétations faites par Adrian Frutiger dans son livre L'Homme et ses Signes. Ce programme part de neuf signes primaires : carré, rectangle, cercle, croix, triangle, ligne, flèche, coin et point qui sont sous forme d'image en .png et qui, par association au hasard, forment un signe complexe composé de 0 à 3 signes à la fois. ==== Dans ce programme il y a ==== * Un tableau d'images contenant les neuf images de signes primaires, * Ces images sont appelées via un tableau de texte contenant leurs noms, * Une librairie d'export en pdf, * Un entier N permettant d'afficher entre 0 et 3 images à la fois, * La possibilité d'enregistrer le signe généré sous pdf avec le nom à taper manuellement, * La possibilité de regénérer un nouveau signe lorsqu'on clique sur le programme. ==== Le tableau d'images ==== L'utilisation de tableaux permet de gérer un grand nombre d'unité à la fois et de les faire évoluer de manière égales les unes aux autres. La création du tableau se fait par l'apparition des [] avant le nom du tableau (signe) et après le type de tableau que l'on créé (PImage). // Tableau d'images PImage[] signe; void setup() { //Appel des images via le dossier texte nomSigne = loadStrings("nomSigne.txt"); //Création du tableau d'image signe = new PImage[nomSigne.length]; } ==== La librairie ==== La librairie PDF permet d'enregistrer des documents PDF avec un nom et un dossier d'enregistrement précisés. // Appel de la librairie "PDF EXPORT" import processing.pdf.*; void setup() { //Nom de l'enregistrement sous pdf, dans le dossier signesPDF. Changer manuellement le nom à chaque nouvel enregistrement beginRecord(PDF, "signesPDF/signe_01.pdf"); } void draw() { //l'enregistrement s'arrête endRecord(); } ==== L'affichage des images ==== Il faut appeler les images qui sont dans le fichier data pour pouvoir les utiliser ensuite dans le programme. Pour cela, au lieu de les appeler une par une, elles sont listées dans un fichier .txt appelé nomSigne.txt, qui lui nomme les images qui sont donc appelées. Cela permet de pouvoir modifier la liste des images appelées sans toucher au code en lui-même. void setup() { //Appel des images via le dossier texte nomSigne = loadStrings("nomSigne.txt"); for (int i=0;i