comment faire un logiciel de peinture de carte en Java


Actuellement, je fais un programme de peinture en Java avec un clic de souris. Tout comme Photoshop ou application de peinture dans Microsoft. Je sais qu'il est facile de peindre une forme carrée, en définissant des limites avec les axes X et Y. Mais comment puis-je faire méthode de peinture forme compliquée comme les pays dans la carte de l'Afrique avec un clic de souris? Existe-t-il un moyen de définir des limites pour cela? Quelqu'un peut-il me donner un indice? Merci!!!! exemple de carte de l'Afrique

Author: user3189762, 2015-09-26

1 answers

La peinture est possible avec java Graphics. Essayez de suivre un code simple.

public class PaintCanves extends JPanel {

    private int oldX;
    private int oldY;

    public PaintCanves() {
        draw();
    }

    private void draw() {
        addMouseListener(new MouseAdapter() {
            @Override
            public void mousePressed(MouseEvent e) {
                oldX = e.getX();
                oldY = e.getY();
            }
        });

        addMouseMotionListener(new MouseMotionAdapter() {
            @Override
            public void mouseDragged(MouseEvent e) {
                getGraphics().drawLine(oldX, oldY, e.getX(), e.getY());
                oldX = e.getX();
                oldY = e.getY();

            }
        });
    }

    public static void main(String[] args) {
        JFrame frame = new JFrame();
        frame.setContentPane(new PaintCanves());
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setSize(500, 500);
        frame.setVisible(true);
    }
}

Ceci est mon résultat de test.

entrez la description de l'image ici

Remarque:

Il efface les données déjà dessinées lors de l'appel de repaint() le panneau. Il est nécessaire de garder les points de peinture en sécurité en utilisant une technique telle que l'ajout de points de peinture dans un Collection ou quelque chose.

 -2
Author: Channa Jayamuni, 2015-09-26 10:55:53