Bonjour, dans le cadre d'un projet à rendre en Algorithmique.Programmation, nous devons réaliser un puzzle en Java. Seulement, voila cela fait déjà deux semaines que je suis bloqué et il ne me reste plus qu'aujourd'hui et ce forum est mon dernier recours... Donc, le problème est que je souhaite découper en formes de pièces de puzzle une image que l'utilisateur aura sélectionnée, et lorsqu'il aura décidé du nombre de pièces de son puzzle, l'image sera découpée. Je n'ai pas d'erreurs d'après eclipse et pourtant... rien ne s'affiche, je ne comprend vraiment pas.
Le code de mon PuzzleGame:
//////////////////////////////// Crée une nouvelle partie.
if(reponse != JOptionPane.CANCEL_OPTION) {// Importation d'un fichier image.
BufferedImage imageImport = ImageImport.open();
if(imageImport != null) { // Image importée avec succès.
BufferedImage image1 = new BufferedImage(imageImport.getWidth(), imageImport.getHeight(), BufferedImage.TYPE_INT_RGB);
if(apercu!=null) apercu.dispose();
// Appel du garbage collector pour libérer de la mémoire.
System.gc();
// Choix du nombre de Pieces du Puzzle.
final int cotePieces = DialogNbPieces.getCotePiecesPuzzle(imageImport.getWidth(), imageImport.getHeight(), getThis());
final Object lock = new Object();
PiecesPuzzle grille[][];
int largeur = imageImport.getWidth()/cotePieces;
int hauteur = imageImport.getHeight()/cotePieces;
int i = 0, j = 0;
grille = new PiecesPuzzle[largeur][hauteur];
Area polygone[][];
polygone = creerPolygones(largeur, hauteur, cotePieces);
for(i = 0; i < largeur; i++){
for(j = 0; j < hauteur; j++){
grille[i][j] = new PiecesPuzzle(polygone[i][j], imageImport, cotePieces); panneauFenetre.add(grille[i][j]);
}
}
Le code de mon piècesPuzzle:
int x, y;
Shape forme;
Area piece = new Area();
JLabel piecePuzzle;
PiecesPuzzle(Shape forme,BufferedImage imageFinale, int cotePieces){
super();
int longueur = imageFinale.getWidth()/cotePieces;
int largeur = imageFinale.getHeight()/cotePieces;
this.forme = forme;
imageFinale = new BufferedImage((largeur+(largeur/2)), (longueur+(longueur/2)), BufferedImage.TYPE_INT_ARGB);
Graphics2D g = imageFinale.createGraphics();
RenderingHints rh = g.getRenderingHints();
rh.put(RenderingHints.KEY_ANTIALIASING,RenderingHints.VALUE_ANTIALIAS_ON);
g.setClip(forme);
g.drawImage(imageFinale, x, y, null);
}
Si vous souhaitez les autres parties pour voir ce qui ne va pas faites le moi savoir, j'espère que quelqu'un va pouvoir m'aider
Merci beaucoup d'avance et bonne journée!
Partager