Anonymní profil Andrej – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
Reklama

Anonymní profil Andrej – Programujte.comAnonymní profil Andrej – Programujte.com

 

Příspěvky odeslané z IP adresy 158.255.249.–

Andrej
Java › detekcia pozicie nad ciarou
3. 5. 2014   #189819

Ahojte

Na canvase mám nakreslené čiary, ktorých pozície si pamätám. Viem ich mazať ale dosť neprakticky (musím kliknúť presne na pixel čiary) Chcel by som preto niečo také, že keď prejdem myšou nad nejakou čiarou, tak sa tá čiara nejako zviditelní .... napr na jej koncových bodoch sa spravia guličky alebo sa zafarbi pozadie pod čiarou ..... keď prejdem ďalej tak tie guličky zmiznú ... vedeli by ste mi poradiť ako na to? vďaka

Tomáš
Java › Vyfarbenie oblasti (CANVAS)
3. 5. 2014   #189797

#3 Kit
getPix() mi vráti pole pixelov a potom ja pomocou [x][y] sa dostanem na konkretny pixel .... p_c je list ciar a tam overujem ci je prazdny ak ano, dany pixel je prazdny

Tomáš
Java › Vyfarbenie oblasti (CANVAS)
3. 5. 2014   #189794

#1 Tomáš
ešte pre doplnenie ...  

at xcicman_projekt_logika.Maliar.vyfarbi(Maliar.java:30) 

je toto:      vyfarbi(g ,M_D, x+1, y);

Tomáš
Java › Vyfarbenie oblasti (CANVAS)
3. 5. 2014   #189793

Ahojte potrebujem vyfarbiť oblasť na canvas-e, ktorú mi ohraničujú čiary.

Pre canvas mám vytvoréné pole, ktoré predstavuje pixel. Na každom pixeli mám zaznačené či sa na ňom nachádza čiara alebo nie .... 

Zatiaľ som to chcel robiť pomocou tejto metódy:

public void vyfarbi(Graphics g, Main_Data M_D, int x, int y){
        
        if(!M_D.getPix()[x][y].p_c.isEmpty()){
            return;
        }
        if (x<0 || x>850 || y<0 || y>760){
            return;
        }

            g.setColor(Color.red);
            g.drawLine(x, y, x, y);
        
        vyfarbi(g ,M_D, x+1, y);
        vyfarbi(g ,M_D, x, y+1);
        vyfarbi(g ,M_D, x-1, y);
        vyfarbi(g ,M_D, x, y-1);
    }

Avšak vždy sa mi to zacyklí ako keby do nekonečna ... nejak neviem asi správne dať tie podmienky pre ukončenie a som už z toho na prášky. Vedeli by ste mi pls pomoct???  Budem moc vdacny :) ...... eclipse mi vyhodí túto chybu: 


Exception in thread "AWT-EventQueue-0" java.lang.StackOverflowError
    at sun.java2d.SurfaceData.isValid(Unknown Source)
    at sun.java2d.SunGraphics2D.getCompClip(Unknown Source)
    at sun.java2d.windows.GDIRenderer.drawLine(Unknown Source)
    at sun.java2d.SunGraphics2D.drawLine(Unknown Source)
    at xcicman_projekt_logika.Maliar.vyfarbi(Maliar.java:28)
    at xcicman_projekt_logika.Maliar.vyfarbi(Maliar.java:30)
    at xcicman_projekt_logika.Maliar.vyfarbi(Maliar.java:32)
    at xcicman_projekt_logika.Maliar.vyfarbi(Maliar.java:30)
    at xcicman_projekt_logika.Maliar.vyfarbi(Maliar.java:32)
    at xcicman_projekt_logika.Maliar.vyfarbi(Maliar.java:30)
    at xcicman_projekt_logika.Maliar.vyfarbi(Maliar.java:32)
    at xcicman_projekt_logika.Maliar.vyfarbi(Maliar.java:30)
    at xcicman_projekt_logika.Maliar.vyfarbi(Maliar.java:32)
    at xcicman_projekt_logika.Maliar.vyfarbi(Maliar.java:30)
    at xcicman_projekt_logika.Maliar.vyfarbi(Maliar.java:32)
   ... toto sa potom dost opakuje

 

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032019 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý