Bonjour,
Ca fait un moment que je suis dessus, voici mon problème
En gros, je dispose d'une interface avec des images dessus, sur ces images, je fais des rotations, translations et redimensionnements, et j'aimerais repérer si un point (un clic par exemple) est dans l'image ou non.
Bien sur, si l'image est affichée à 45 degrés, je peux pas me contenter de vérifier si le point est compris entre les largeurs et hauteurs minimum et maximum de l'image.
Alors j'ai vu qu'il était possible de modifier le repère d'un point avec quelque chose comme ça:
Mais après, j'ai du mal à appréhender le changement de repère ect, à ce stade, je ne sais pas trop ce que je dois comparer, quelqu'un saurait m'expliquer ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 public boolean contains(Point2 p) { AffineTransform at = new AffineTransform(); at.setToIdentity(); at.scale(width, height); at.rotate(angle); at.translate(x, y); Point2D curseur = new Point2D.Double(p.getX(), p.getY()); Point2D curseurOBB = new Point2D.Double(); at.transform(curseur, curseurOBB); ... }
Merci !!!!
Partager