Akcja po najechaniu myszką w konkretną strefę obrazka

0

Cześć wszystkim!

Mam mały problem i nie wiem zbytnio jak się za niego zabrać. Wczytałem sobie obrazek, jest to świeczka( wrzucam w załączniku). Chciałbym zrobić coś takiego, że po najechaniu w konkretny fragment obrazka (w tym przypadku płomień) i naciśnięciu przycisku myszki, zdjęcie zamieni mi się na inne. Jedyne co udało mi się zrobić to podmiana obrazka bo kliknięciu gdziekolwiek.

Wpadłem na jedno rozwiązanie, ale nie wiem czy jest ono dobre, może są lepsze. Na tym obrazku narysowałbym pewną strefę np. okrąg, która nie byłaby widoczna, ale po najechaniu na nią i kliknięciu przyciskiem myszy podmieniłby mi się obrazek. Problem w tym, że nie wiem zbytnio jak to zrealizować, dlatego prosiłbym o wskazówki ;)




import java.awt.event.MouseAdapter;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;


public class Swieczka {

    
    public static void main(String[] args) {
        
        JFrame frame = new JFrame();
        final JLabel label = new JLabel(new ImageIcon("swieczka_blue.png")); 
        frame.add(label);
        frame.setVisible(true);
        frame.setSize(400,400);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        frame.addMouseListener(new MouseAdapter() {
            @Override
            public void mousePressed(java.awt.event.MouseEvent evt) {
                label.setIcon(new ImageIcon("swieczka_blue2.png"));
            }
        
        });       
        
    }
    
}


1

Wczytaj może obrazek również do zmiennej typu BufferedImage, masz wtedy dostępne kolory poszczególnych pikseli. Porównuj potem kolor klikniętego piksela z pewnym kolorem wzorcowym.
I przy małej różnicy składowych RGB podmieniaj obrazek.

0

Dzięki za podpowiedź ;)

1 użytkowników online, w tym zalogowanych: 0, gości: 1