Annonce

>>> Bienvenue sur codelab! >>> Première visite ? >>> quelques mots sur codelab //// une carte des membres//// (apéros) codelab


#1 2016-01-06 10:25:50 Aide création d'un petit programme

p0ip0i
nouveau membre
Date d'inscription: 2016-01-06
Messages: 3

Aide création d'un petit programme



Bonjour!
Je suis nouveau sur le forum et aussi novice à processing. J'ai un projet pour les cours sur du design génératif, rien de très compliqué je pense mais bon je galère énormement (n'ayant jamais fait de code sad ).
Le principe est de créer un programme qui chargerai 5 ou 6 images et toutes les dix secondes leur emplacement change, ainsi que leur taille et rotation. Et aussi, je ne sais pas si processing place les images dans un ordre précis une fois dans le sketch (comme des calques dans photoshop qui se superposeraient).
J'ai commencé à écrire un peu mais rien de bien concluant pour l'instant...

Je vais continuer à chercher de mon côté mais j'aurais vraiment besoin d'un coup de main! please!
Des bisoux à tous et merci d'avance!

Hors ligne

 

#2 2016-01-06 14:29:10 Re : Aide création d'un petit programme

Mushussu
membre
Lieu: Orléans
Date d'inscription: 2012-05-24
Messages: 802

Re: Aide création d'un petit programme



Bonjour,
Les images se superposent dans l'ordre d'écriture dans la méthode draw().
Il suffit de bien les ordonnées au départ si tu veux un ordre ou bien tu peux les disposer dans un ordre aléatoire.
Voici un bout de code qui te fera commencer.
Bon courage.

PImage image1, image2;

void setup() {
  size(600, 600);
  image1 = loadImage("image1.jpg");
  image2 = loadImage("image2.jpg");
}

void draw() {
  pushMatrix();
  translate(100, 100);
  scale(0.5);
  image(image1, 0, 0);
  popMatrix();
  translate(200, 200);
  rotate(-PI / 6);
  scale(0.6);
  image(image2, 0, 0);
}

Hors ligne

 

#3 2016-01-14 14:44:54 Re : Aide création d'un petit programme

p0ip0i
nouveau membre
Date d'inscription: 2016-01-06
Messages: 3

Re: Aide création d'un petit programme



Bonjour!
Désolé j'ai mis beaucoup de temps à répondre mais votre code m'a beaucoup servi comme base, un GRAND merci!
J'ai bien avancé, mais maintenant je me trouve face à un nouveau problème. Je veux que le sketch, une fois lancé, se reset toutes les 1 secondes, et qu'à chaque fois un image soir enregistrée en tif ou autre...

Voila mon code. J'ai un problème, processing me dis qu'il me manque un "}" à la ligne 24 et impossible de trouver ce qui cloche!


ps: encore une fois un grand merci à Mushussu!!

    PImage titre, cadre, date, cercle ;
    float scatterX = random(30, 670);
    float scatterY = random(30, 345);
    int spin = int(random(360));
    int angle = int(random(360));
     
    void setup()
    {
      size(585, 827);
      background(#ffffff);
      imageMode(CENTER);
      titre = loadImage("titre.png");  // load image
      titre.resize(0, 400); //shrink image size
      cadre = loadImage("cadre.png");  // load image
      cadre.resize(0, 400); //shrink image size
      date = loadImage("date.png");  // load image
      date.resize(0, 400); //shrink image size
      cercle = loadImage("cercle.png");  // load image
      cercle.resize(0, 400); //shrink image size
      frameRate(30);
      noLoop();
    
    }
    
    void draw()
    {   
      for (int counter = 0; counter < 1; counter++)
      {
         if (frameCount % MAX_FRAME_NB == 0) // 1000
          {
    saveFrame( "image-###" ); // Add params
    InitSketch();
      {
        pushMatrix();
        translate(scatterX, scatterY);
        rotate(radians(angle)); //rotate image random amount of degrees
        
        image(titre, random(100), random(100)); // put image at random location
        image(cadre, random(100), random(100));
        image(date, random(100), random(100));
        image(cercle, random(100), random(100));
        popMatrix();
     
        counter++; // add to count
        scatterX = random(30, 670); //get new X position
        scatterY = random(30, 345); // get new Y position
      }

Hors ligne

 

#4 2016-01-14 16:44:57 Re : Aide création d'un petit programme

Pilou
membre
Date d'inscription: 2014-07-15
Messages: 78

Re: Aide création d'un petit programme



Du point de vue de la syntaxe, dans la partie void draw()
Il y 4 "Accolades ouvrantes" pour une seule "fermante" !
Il en manque donc 3 "fermantes" !
Il va pas aimer le Processing! wink

Dernière modification par Pilou (2016-01-14 16:46:22)


Est beau ce qui plaît sans concept
Petit site

Hors ligne

 

#5 2016-01-14 23:17:52 Re : Aide création d'un petit programme

p0ip0i
nouveau membre
Date d'inscription: 2016-01-06
Messages: 3

Re: Aide création d'un petit programme



merci beaucoup!
Voila le code à peu près fini, un ami m'a donné un coup de main!
Merci beaucoup aux personnes de ce forum qui m'ont aidé!


PImage titre, cadre, date, cercle ;

float scatterX = random(30, 670);
float scatterY = random(30, 345);

int spin = int(random(360));
int angle = int(random(360));

int nombreDeDeclinaisonsMax = 50;
int curseur;
PGraphics[] resultat = new PGraphics[nombreDeDeclinaisonsMax];

void setup() {
  size(585, 827, P2D);
  background(250);
  frameRate(20);
  for(int i = 0; i < resultat.length; i++){
    resultat[i] = createGraphics(585, 827, P2D);
  }
 
  imageMode(CENTER);
  titre = loadImage("titre.png");
  titre.resize(0, 400);
  cadre = loadImage("cadre.png");
  cadre.resize(0, 400);
  date = loadImage("date.png");
  date.resize(0, 400);
  cercle = loadImage("cercle.png");
  cercle.resize(0, 400);
  //noLoop();
}

void draw() {
  resultat[curseur].beginDraw();
  resultat[curseur].pushMatrix();
  resultat[curseur].translate(scatterX, scatterY);
  resultat[curseur].rotate(radians(angle));
  resultat[curseur].image(titre, random(0-500), random(0-100));
  resultat[curseur].image(cadre, random(0-100), random(0-500));
  resultat[curseur].image(date, random(0-500), random(0-100));
  resultat[curseur].image(cercle, random(100), random(0-500));
  resultat[curseur].popMatrix();
  resultat[curseur].endDraw();
 
  image(resultat[curseur], 0, 0);
  resultat[curseur].save("monImg" + curseur + ".png");
  curseur += 1;
 
  if(curseur >= 50){
    println(nombreDeDeclinaisonsMax + " images ont été générées");
    exit();
  }
 
  scatterX = random(30, 670);
  scatterY = random(30, 345);
 
}

Dernière modification par p0ip0i (2016-01-14 23:21:17)

Hors ligne

 

fil rss de cette discussion : rss

Pied de page des forums

Powered by FluxBB

codelab, graphisme & code : emoc / 2008-2024