Utilisation de Processing (Image en boucle)
Fermé
SimonRan
Messages postés
8
Date d'inscription
mardi 9 avril 2013
Statut
Membre
Dernière intervention
25 janvier 2017
-
15 févr. 2016 à 22:29
SimonRan Messages postés 8 Date d'inscription mardi 9 avril 2013 Statut Membre Dernière intervention 25 janvier 2017 - 4 mars 2016 à 21:06
SimonRan Messages postés 8 Date d'inscription mardi 9 avril 2013 Statut Membre Dernière intervention 25 janvier 2017 - 4 mars 2016 à 21:06
A voir également:
- Boucle for processing
- Downloader for pc - Télécharger - Téléchargement & Transfert
- Idm for mac - Télécharger - Téléchargement & Transfert
- Download instagram for pc - Télécharger - Divers Communication
- Whatsapp for pc - Télécharger - Messagerie
- Saveaspdf.exe for office 2007 - Télécharger - Bureautique
2 réponses
faseldi
Messages postés
279
Date d'inscription
dimanche 9 novembre 2014
Statut
Membre
Dernière intervention
3 janvier 2017
20
Modifié par faseldi le 16/02/2016 à 03:41
Modifié par faseldi le 16/02/2016 à 03:41
Bonjour, Bonsoir ! Je t'ai fait un petit code que je l’espère répond à ta demande :)
Notes : si tu n'utilises pas un IDE pour compiler, il faudra changer certains paramètres.
Les images sont directement lues dans l'archive, par URL (la méthode statique en bas).
J'ai utilisé NetBeans comme IDE.
J'ai utilisé un thread qui met à jour une icone dans une classe qui étend un JPanel.
J'ai ajouté une instance de cette classe dans une JFrame (fenetre graphique de 500,500)
J'ai fais une méthode pour lancer le changement d'image dans ImagesARebours, et le tour est joué.
Si tu n'y arrive toujours pas, tu peux demander
Les images sont dans un package images.
Je sais pas si on peut donner des fichiers à télécharger sur CCM alors j'évite, mais si tu en as besoin je peux te le poster sur mon site.
Notes : si tu n'utilises pas un IDE pour compiler, il faudra changer certains paramètres.
Les images sont directement lues dans l'archive, par URL (la méthode statique en bas).
J'ai utilisé NetBeans comme IDE.
J'ai utilisé un thread qui met à jour une icone dans une classe qui étend un JPanel.
J'ai ajouté une instance de cette classe dans une JFrame (fenetre graphique de 500,500)
J'ai fais une méthode pour lancer le changement d'image dans ImagesARebours, et le tour est joué.
Si tu n'y arrive toujours pas, tu peux demander
Les images sont dans un package images.
Je sais pas si on peut donner des fichiers à télécharger sur CCM alors j'évite, mais si tu en as besoin je peux te le poster sur mon site.
package ccm;
import java.awt.Graphics2D;
import java.awt.Image;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import java.net.URL;
import java.util.ArrayList;
import javax.imageio.ImageIO;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
public class ImagesARebours extends JLabel{
private ArrayList<Image> images;
Thread t;
public ImagesARebours(){
super();
images = new ArrayList<>();
ajouterImage("/images/3.png");
ajouterImage("/images/2.png");
ajouterImage("/images/1.png");
}
private void ajouterImage(String url){
BufferedImage imagetmp = getRepresentation(getClass().getResource(url));
Image imageN = imagetmp.getScaledInstance(500, 500, BufferedImage.SCALE_SMOOTH);
images.add(imageN);
}
public void lancerRebours(){
t = new Thread(new Runnable() {
@Override
public void run() {
for(int i = 0; i < images.size(); i++){
setIcon(new ImageIcon(images.get(i)));
try{
Thread.sleep(1000); // on att 1000 ms pour changer d'image
}catch(InterruptedException e){
break;
}
}
}
});
t.start();
}
public static void main(String[] args) {
JFrame f = new JFrame();
f.setSize(500,500);
ImagesARebours imgR = new ImagesARebours();
f.add(imgR);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setVisible(true);
imgR.lancerRebours();
}
public static BufferedImage getRepresentation(URL url){
try{
return ImageIO.read(new File(url.getPath()));
}catch(IOException e){
System.err.println("Impossible de charger l'image suivante : "+url.getFile());
}
return null;
}
}
faseldi
Messages postés
279
Date d'inscription
dimanche 9 novembre 2014
Statut
Membre
Dernière intervention
3 janvier 2017
20
17 févr. 2016 à 15:49
17 févr. 2016 à 15:49
void setup(){
size (1600, 800);
background(100);
}
void draw(){
textSize(35);
text("Course de voiture", 500, 30);
fill(0, 102, 153);
noStroke();
fill(0, 102, 153);
rect(1010, 590, 200, 100);
textSize(15);
fill(0);
text("Demarrer", 1065,645);
}
void mousePressed(){
for(int i = 1010; i < 1010+200; i++){
for(int j = 590; j < 590+100; j++){
if(i == mouseX && j == mouseY){
System.out.println("click on button");
click();
return;
}
}
}
}
void click(){
PImage a ;
a = loadImage("C:\\Users\\Public\\Pictures\\Sample Pictures\\Koala.jpg");
image(a,490,300,200,200);
delay(1000);
a = loadImage("C:\\Users\\Public\\Pictures\\Sample Pictures\\Desert.jpg");
image(a,490,300,200,200);
delay(1000);
/*
a = loadImage("C:\\Users\\Schwarz\\Pictures\\Rammstein_Ohne_Dich_Wallpaper_by_Fangschrecke.jpg");
image(a,490,300,200,200);*/
delay(1000);
}
Voilà, par contre la fonction delay attend bien, mais elle ne fait pas un feresh de l'image... j'arrive pas à faire ce refresh, je te laisse le faire, tu connais surement mieux cet outil que moi :)
faseldi
Messages postés
279
Date d'inscription
dimanche 9 novembre 2014
Statut
Membre
Dernière intervention
3 janvier 2017
20
18 févr. 2016 à 04:22
18 févr. 2016 à 04:22
re, je viens de remarquer que deux boucles for c'était un peu gourmand pour un boutton, tu peux faire ça aussi :
void mousePressed(){
if(mouseX > 1010 && mouseX < 1010+200 && mouseY > 590 && mouseY < 590+100){
click();
}
}
SimonRan
Messages postés
8
Date d'inscription
mardi 9 avril 2013
Statut
Membre
Dernière intervention
25 janvier 2017
4 mars 2016 à 21:06
4 mars 2016 à 21:06
Merci deso pour le retard mais il y'a vraiment un problème, les images ne bouge pas. En faites lorsque tu clique y'a bien écrit en bas"click button", sa veut dire qu'il a bien reçu. Mais pour les images, y'a pas les animations qui bouge :/
16 févr. 2016 à 20:20
16 févr. 2016 à 21:21
size (1600, 800);
background(100);
textSize(35);
text("Course de voiture", 500, 30);
fill(0, 102, 153);
noStroke();
fill(0, 102, 153);
rect(1010, 590, 200, 100);
textSize(15);
fill(0);
text("Demarrer", 1065,645);
PImage a ;
a = loadImage("chiffre-3.jpg");
image(a,490,300,200,200);
delay(1000);
PImage b ;
a = loadImage("chiffre-2.jpg");
image(a,490,300,200,200);
delay(1000);
PImage c ;
a = loadImage("chiffre-1.jpg");
image(a,490,300,200,200);
delay(1000);
17 févr. 2016 à 00:44
Modifié par faseldi le 17/02/2016 à 00:56
A priori tu demandais du Processing dans le forum java, désolé de m’être trompé.
17 févr. 2016 à 01:38
Bonne soirée