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 ).
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
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
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
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!
Dernière modification par Pilou (2016-01-14 16:46:22)
Hors ligne
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
Pages: 1