View  Edit  Attributes  History  Attach  Print  Search

ACCUEIL | ARDUINO > S'INSTALLER > DEBUTER > APPROFONDIR | PROCESSING | MECATRONIQUE | MATERIEL | OUTILS | TESTS | Plus...|
Python > Shell > ATELIERS Python + Qt > PyQt apps > PyQt+Arduino | Mes Robots | RepRap | Mes lib'Arduino | Mes shields Arduino | Mes distros | Les Mini-PC |
ATELIERS ARDUINO| VIDEOS | COMPRENDRE | REFERENCES | CODER | TECHNIQUE | GNU/LINUX | LIENS | Rien à voir |

Régler la couleur du fond de la fenêtre à l'aide de 3 sliders

Description :

  • 3 sliders permettent de régler la couleur du fond de la fenêtre

Ressources utilisées

Ce programme utilise :

  • la librairie GUI ControlP5
  • 3 objets Sliders

Explications

  • Chaque Slider est paramétré avec une valeur de 0 à 255
  • Chaque Slider est attribué à une couleur Rouge - Vert - Bleu

Le programme


// Programme processing
// généré avec le générateur de code Processing
// X. HINAULT - Janvier 2011 - tous droits réservés

/////////////// Description du programme ////////////
// Utilise la librairie GUI controlP5
// Utilise un réglage linéaire (Slider)

// XXXXXXXXXXXXXXXXXXXXXX ENTETE DECLARATIVE XXXXXXXXXXXXXXXXXXXXXX

// inclusion des librairies utilisées

import controlP5.*; // importe la librairie GUI controlP5

// déclaration objets

ControlP5 controlP5; // déclare un objet principal de la librairie GUI controlP5

Slider sR, sG, sB; // déclare un/ des objet Slider

Textfield tf1; // déclare un/des objets Textfield

// déclaration variables globales

int code; // variable pour le code couleur

// XXXXXXXXXXXXXXXXXXXXXX  Fonction SETUP XXXXXXXXXXXXXXXXXXXXXX

void setup(){ // fonction d'initialisation exécutée 1 fois au démarrage

        // ---- initialisation paramètres graphiques utilisés
        colorMode(RGB, 255,255,255); // fixe format couleur R G B pour fill, stroke, etc...
        fill(0,0,255); // couleur remplissage RGB
        stroke (0,0,0); // couleur pourtour RGB
        rectMode(CORNER); // origine rectangle : CORNER = coin sup gauche | CENTER : centre
        imageMode(CORNER); // origine image : CORNER = coin sup gauche | CENTER : centre

        // --- initialisation fenêtre de base ---
        size(400, 400); // ouvre une fenêtre xpixels  x ypixels
        frameRate(30);
        background(0,0,0); // couleur fond fenetre

// --- initialisation des objets et fonctionnalités utilisées ---

        //======== Initialisation Objets GUI ControlP5 =========

        controlP5 = new ControlP5(this); // initialise l'objet principal de la librairie GUI controlP5

        // typeObjet nomObjet=controlP5.addObjet(paramètres); // pour info : déclaration / initialisation possible en 1 ligne
        // Textfield field = controlP5.addTextfield("myWindowTextfield",70,130,100,20); // exemple

        //======== Initialisation Objets Sliders =========

        // addSlider(theName, theMin, theMax, theDefaultValue, theX, theY, theW, theH)

        //---- slider de réglage du rouge
        sR=controlP5.addSlider("sliderRouge",0,255,127,100,50,10,300); // ajoute un Slider au ControlP5
        sR.setNumberOfTickMarks(256); // fixe le nombre crans - n+1 pour n valeurs
        sR.showTickMarks(false); // affichage des repères
        sR.setLabelVisible(true); // affichage des labels
        sR.setLabel("Rouge"); // fixe label objet
        sR.setColorActive(color(255,255,0)); // fixe la couleur active
        sR.setColorBackground(color(127,127,127)); // fixe couleur fond  
        sR.setColorForeground(color(255,0,0)); // fixe couleur avant

        //---- slider de réglage du Vert
        sG=controlP5.addSlider("sliderVert",0,255,127,200,50,10,300); // ajoute un Slider au ControlP5
        sG.setNumberOfTickMarks(256); // fixe le nombre crans - n+1 pour n valeurs
        sG.showTickMarks(false); // affichage des repères
        sG.setLabelVisible(true); // affichage des labels
        sG.setLabel("Vert"); // fixe label objet
        sG.setColorActive(color(255,255,0)); // fixe la couleur active
        sG.setColorBackground(color(127,127,127)); // fixe couleur fond  
        sG.setColorForeground(color(0,255,0)); // fixe couleur avant

        //---- slider de réglage du rouge
        sB=controlP5.addSlider("sliderBleu",0,255,127,300,50,10,300); // ajoute un Slider au ControlP5
        sB.setNumberOfTickMarks(256); // fixe le nombre crans - n+1 pour n valeurs
        sB.showTickMarks(false); // affichage des repères
        sB.setLabelVisible(true); // affichage des labels
        sB.setLabel("Bleu"); // fixe label objet
        sB.setColorActive(color(255,255,0)); // fixe la couleur active
        sB.setColorBackground(color(127,127,127)); // fixe couleur fond  
        sB.setColorForeground(color(0,0,255)); // fixe couleur avant

        //======== Initialisation Objets Textfield =========

        tf1=controlP5.addTextfield("codeCouleur",(width/2)-35,height-35,80,20); // initialise et ajoute un Textfield au ControlP5

        // méthodes propres à l'objet Textfield
        tf1.setAutoClear(false); // autoeffacement après return
        tf1.setValue("#"+color(sR.value(),sG.value(),sB.value())); // initialise Texte du champ
        //tf1.clear(); // efface contenu du champ

        // méthodes communes à tous les controles (objet Controller)
        tf1.setLabelVisible(true); // affichage des labels
        tf1.setLabel("Code Couleur"); // fixe label objet
        //tf1.setDecimalPrecision(2); // fixe la précision
        tf1.setColorActive(color(255,255,0)); // fixe la couleur active
        tf1.setColorBackground(color(255,255,255)); // fixe couleur fond  
        tf1.setColorForeground(color(0,0,255)); // fixe couleur avant
        tf1.setColorCaptionLabel(color(0,0,0)); // fixe couleur Label
        tf1.setColorValueLabel(color(0,0,255)); // fixe la couleur valeur



} // fin fonction Setup

// XXXXXXXXXXXXXXXXXXXXXX Fonction Draw XXXXXXXXXXXXXXXXXXXX

void  draw() { // fonction exécutée en boucle

        // Accès à la valeur des objets GUI controlP5

        //--- accès à la valeur courante du Slider ---
        //println("Valeur Slider= "+ s1.value());
        //delay(100);

        background(sR.value(),sG.value(),sB.value());

        code=color(sR.value(),sG.value(),sB.value()); // calcul du code couleur

        tf1.setValue("#"+hex(code,6)+" "); // affiche le code couleur


        // while(true); // stoppe boucle draw

} // fin de la fonction draw()



//XXXXXXXXXXXXXXXXXX Fin du programme XXXXXXXXXXXXXXXXX