Oppure

Loading
01/10/14 14:00
germano
Vi chiedo se sia possibile, e come, usare una mappa geografica in un progetto Visual Basic 2013, così come si vede in qualche sito.
Vorrei usare la mappa dell' Italia per cliccare in una delle sue 20 regioni e fare aprire un relativo form. Grazie per la cortese attenzione.
aaa
01/10/14 15:16
dnha
Ciao,
potresti creare un immagine con le varie regioni di colori diversi e al click del mouse determinare il colore del pixel segnato dal mouse (lo so... è molto contorto :) ).
In questo modo ricaveresti la regione corrispondente.

Potresti partire per esempio da questa (cambiando ovviamente i colori) : viaggi.globopix.net/cartina/…

Ci saranno metodi migliori ma questo è quello che mi è venuto in mente per primo :k:
Ultima modifica effettuata da dnha 01/10/14 15:18
aaa
01/10/14 21:31
germano

Graie per l'idea. Ma come si intercetta il colore del pixel al passaggio del mouse sopra ?
aaa
02/10/14 11:58
GN
Se mettil'immagine in una picturebox, puoi intercettare il click con l'evento MouseDown e ottenere le coordinate dal parametro EventArgs del gestore dell'evento (msdn.microsoft.com/it-it/library/…(v=vs.110).aspx), e poi ottenere il colore con il metodo GetPixel (msdn.microsoft.com/it-it/library/…(v=vs.110).aspx).
aaa
02/10/14 15:18
germano

Ho sostanzialmente risolto con la proprietà mouseposition.x e mouseposition.y. Non viene perfettamente bene (le sagome delle regioni italiane sono frastagliate. Mentre, così, posso mappare solo rettangoli) ma con l'evento mousemove e mouseup e l'uso dinamico delle proprietà left e top dei form
raggiungo un risultato accettabile.
Grazie a chi mi ha risposto.
aaa
02/10/14 15:31
dnha
La soluzione proposta da GN è migliore :k:
aaa
03/10/14 12:05
amreo
Perchè ti sei posto il problema?
Non importa che le regioni italiane sono storte. Basta che metti lo stesso colore in paint e risolvi il problema.
aaa
04/10/14 13:13
germano

Avete ragione. Infatti avevo premesso che con mouseposition (x ed y), dato l'andamento frastagliato dei confini delle regioni, la soluzione non era perfetta. Posso chiedere a DN un esempio di codice con cui si possono ottenere le coordinate dal parametro EventArgs associato all'evento MouseDown ?
aaa