begin process at 2012 02 12 17:27:39
  Trouver un code source :
 
dans
 
Accueil > Forum > 

JAVA / J2EE / J2ME

 > 

Multimédia

 > 

Java2D

 > 

union de polygones


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

union de polygones

mercredi 25 juillet 2007 à 17:55:04 | union de polygones

umafaid

Bonjour,

je dessines des polygones sur un panel et j'aimerais faire une union de deux polygones. Quelqu'un aurait-il des idées à me donner pour faire cela?

Merci d'avance.
vendredi 27 juillet 2007 à 12:22:04 | Re : union de polygones

Twinuts

Membre Club Administrateur CodeS-SourceS

Salut,

passe par la classe java.awt.geom.Area qui permet de faire ce que tu veux

Voici un exemple assez simple de ce que tu peux faire (Je l'ai trouvé sur le web) :
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.RenderingHints;
import java.awt.Shape;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import java.awt.geom.Area;
import java.awt.geom.Ellipse2D;
import java.awt.geom.Rectangle2D;

import javax.swing.JComboBox;
import javax.swing.JComponent;
import javax.swing.JFrame;
import javax.swing.JPanel;

public class CombiningShapes extends JComponent {
  private Shape mShapeOne, mShapeTwo;

  private JComboBox mOptions;

  public CombiningShapes() {
    mShapeOne = new Ellipse2D.Double(40, 20, 80, 80);
    mShapeTwo = new Rectangle2D.Double(60, 40, 80, 80);
    setBackground(Color.white);
    setLayout(new BorderLayout());

    JPanel controls = new JPanel();

    mOptions = new JComboBox(new String[] { "outline", "add",
        "intersection", "subtract", "exclusive or" });

    mOptions.addItemListener(new ItemListener() {
      public void itemStateChanged(ItemEvent ie) {
        repaint();
      }
    });
    controls.add(mOptions);
    add(controls, BorderLayout.SOUTH);
  }

  public void paintComponent(Graphics g) {
    Graphics2D g2 = (Graphics2D) g;
    g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
        RenderingHints.VALUE_ANTIALIAS_ON);

    String option = (String) mOptions.getSelectedItem();
    if (option.equals("outline")) {
      // draw the outlines and return.
      g2.draw(mShapeOne);
      g2.draw(mShapeTwo);
      return;
    }

    // Create Areas from the shapes.
    Area areaOne = new Area(mShapeOne);
    Area areaTwo = new Area(mShapeTwo);
    // Combine the Areas according to the selected option.
    if (option.equals("add"))
      areaOne.add(areaTwo);
    else if (option.equals("intersection"))
      areaOne.intersect(areaTwo);
    else if (option.equals("subtract"))
      areaOne.subtract(areaTwo);
    else if (option.equals("exclusive or"))
      areaOne.exclusiveOr(areaTwo);

    // Fill the resulting Area.
    g2.setPaint(Color.orange);
    g2.fill(areaOne);
    // Draw the outline of the resulting Area.
    g2.setPaint(Color.black);
    g2.draw(areaOne);
  }
 
  public static void main(String[] args) {
      JFrame.setDefaultLookAndFeelDecorated(true);
    JFrame f = new JFrame();
    f.setTitle("Test");
    f.setDefaultCloseOperation(3);
    f.add(new CombiningShapes());
    f.setSize(220, 220);
    f.setLocationRelativeTo(null);
    f.setVisible(true);
  }
 
}



------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."

OoWORAoO


Cette discussion est classée dans : union, polygones


Répondre à ce message

Sujets en rapport avec ce message

faire bouger des polygones [ par dian_e ] bonjour est il possible en java de faire bouger des polygones, nous cherchons des programmes ou des aides.nous devons faire bouger les blocs 3d de roc Surface et perimetre [ par Pratana ] salutjai un polygone que je vais couper en 2 puis j'enleve un des 2 polygones restant le plus petit.ma question est : prendre le plus petit perimetre faire l'union deux listes [ par ulysse00 ] salut j'ai deux liste A =[[12,13,15],[134]]B=[[12,13,15],[1356]]je cherche a faire l'union entre deux liste A et B dans C de façon avoir C==[[12,13,15 Probleme de transformation d'une requete Access en Requete sql sous Java [ par facilus68 ] Bonjour, j'ai une requete Access que je veux la transformer et l'executer en java, cette requete contient une sous requete, j'arrive pas a transformer Manipulation de polygone [ par tomski ] Bonjour a tous J'essaye actuellement de faire un programme qui manipule des polygones. J'ai une frame avec a gauche des boutons et des listes et d Soustraction de polygones défini par leurs sommets [ par Wohlraj ] Bonjour, Je bloque sur un petit algorithme. J'ai créé un décor sous forme de polygones, et chacun de ces polygones est entièrement défini par ses so


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,123 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales