Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    Mappa su immagine [VB6]

    Mi chiedevo...Come è possibile creare una mappa ( ad esempio per regione ) dell'italia in Visual Basic 6?

    In modo tale che cliccando su ogni regione si esegua un'azione diversa?

    E' possibile delimitare una regione su una immagine ( un pò coe si fa per le pagine web )?

    Grazie a tutti!

    Ciao...

  2. #2
    Un modo semplice per creare delle specie di mappature è creare sull'immagine delle label che abbiano lo sfondo trasparente e dargli un colore al bordo e poi metterle dove si vuole sull'immagine.


    Un altro modo sarebbe di usare allo stesso modo una shape che permette anche di ottenre altre figure geometriche che magari si adattano di più

    Ciao Ciao
    "Penso che nel mondo ci sia mercato per quattro o cinque computer"... Thomas Watson, presidente della IBM, 1943

  3. #3
    no xke i bordi delle regioni nn sono precisi
    o rilevare la posizione del click (X e Y) e crearsi una lista con le posizioni dei confini(cosa lunghissima ma è l'unica ke mi viene in mente :adhone: )

    ciauz
    MAx

  4. #4
    Se ogni regione ha un colore diverso, basta leggere il colore del pixel dove si trova il puntatore del mouse al momento del click...
    Chi non cerca trova.

  5. #5
    si ma metti ke è fisica la carta... :quipy:

  6. #6
    Utente bannato
    Registrato dal
    Sep 2003
    Messaggi
    1,012
    Ovviamente per sapere che regione aprire devi sapere i confini di ogni regione.

    Portesti quindi creare un array di punti che contiene i vertici del poligono e, dato un punto qualsiasi, devi scoprire se è all'interno di questo poligono.

    A questo punto il problema è puramente di geometria analitica, ma nn mi vengono in mente delle funzioni adatte...

    Per memorizzare tutti i punti dei confini potresti creare un programma - utility che memorizza i click del mouse che fai e li scrive sotto forma di codice VB in una textbox che ricopierai in una funzione Init() del tuo programma.
    Il codice sarebbe del tipo:
    codice:
    Type POINT
        X as Integer
        Y as Integer
    End Type
    
    Dim Arr(30) as POINT
    Arr(0).X = 7
    Arr(0).Y = 8
    ' E continua così per 10 volte

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.