|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: May 2001
Messaggi: 191
|
[JAVA]mappare un'immagine
Salve a tutti!
Devo creare un software che permette di visualizzare mappe interattive di un edificio accademico. Ho ricreato la planimetria dell'edificio, è un'immagine png. Come faccio da java a mappare l'immagine e quindi le varie stanze e ad associarle ai relativi dati dell'aula/ufficio? Avete qualche idea? ![]() Grazie ![]()
__________________
Project HTPC: work in progress! ![]() |
![]() |
![]() |
![]() |
#2 |
Registered User
Iscritto dal: Aug 2006
Messaggi: 305
|
Parlando a livello di progettazione, senza entrare nel codice, posso suggerirti di caricare l'immagine in un jPanel e di scansirla pixel per pixel e di mettere i pixel in una matrice. Se ad esempio è solo in bianco e nero puoi fare così.
Poi definisci le stanze come somme e sottrazione di rettangoli, ciascuno definito da due punti. Così riempi tutte le celle della matrice con l'ID della stanza che occupa quelle celle... Sono stato vago, ma anche la definizione del problema è piuttosto vaga.. |
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: May 2001
Messaggi: 191
|
vorrei che al click del mouse su una stanza, il programma visualizzi quale prof c'è nella stanza. Non so come mappare i rettangoli che identificano ogni stanza, c'è un modo da java, tramite swing? Oppure stavo pensanvo di trasformare l'immagine in svg e di mapparla da li e poi caricarla in java...
__________________
Project HTPC: work in progress! ![]() |
![]() |
![]() |
![]() |
#4 |
Registered User
Iscritto dal: Aug 2006
Messaggi: 305
|
Ma il programma deve mapparti automaticamente una piantina o devi rendere UNA determinata piantina interattiva?
Nel secondo caso è sufficiente che crei un form in cui apri l'immagine della piantina. Il tuo programma ti mostrerà la piantina in un panel. Qui disegnerai dei rettangoli col mouse (farai in modo che il tuo programma ti permetta di disegnare i rettangoli). Userai la somma di più rettangoli per "ricalcare" le stanze più complesse, e la differenza per creare le concavità. Una volta ricalcata una stanza, gli dai un ID con una textbox e schiacci ok. La matrice di interi(che crei ogni volta che carichi una piantina) della piantina metterà degli interi con l'id della stanza nelle celle ricoperte da tale stanza. Quando hai finito di mappare la piantina salvi piantina e matrice (piantina.jpg e matrice.dat) e ogni volta che vuoi caricare una piantina interattiva carichi la coppia matrice-piantina. Quando il cursore sarà sul pixel [200,250] ad esempio, andrai a vedere matrice[200,250]. L'intero contenuto in tale cella è l'id della stanza che stai puntando. Poi avendo l'ID il resto è automatico.. Se devi riconoscere e mappare automaticamente qualsiasi piantina invece devi dire se è in bianco e nero o a colori, ed è un casino...e bisogna farlo pian piano, metodo per metodo. Devi riconoscere i contorni, i poligoni eccettera |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 19:41.