Meraviglie del Web
di Michael J. Hammel traduzione di Antonio Cartelli

indent

Con la griglia predisposta si possono creare aree rettangolari, ovali o poligonali racchiuse dalla griglia stessa.  Per ciascuna di queste aree si possono editare gli attributi corrispondenti utilizzando l'opzione del menu Edit -> Edit Area Info.  Questa opzione apre un dialogo con tre pagine:  Link, Shape e JavaScript.  La pagina Link consente di specificare l'URL al quale la zona selezionata deve puntare.  Con la versione 1.1 si può effettuare un'operazione di drag & drop dall'icona della Location di Netscape direttamente nel campo dell'URL di questa pagina ed il collegamento verrà creato automaticamente invece di dover essere creato manualmente.
La porzione Selection della finestra
principale.  Si noti il simbolo # dell'URL.
Più alto il valore numerico, maggiore
sarà la precedenza che l'area prenderà
tra le regioni che si sovrappongono.
La pagina Shape consente di editare gli attributi della forma dell'area - altezza, larghezza, disposizione dei vertici, raggio e così via.  La pagina JavaScript consente di specificare 4 tipi di gestori di eventi JavaScript:  onBlur, onFocus, onMouseOver e onMouseOut.  Le aree di input del testo per queste caratteristiche sono rappresentate da un'unica riga di testo molto piccola, anche se la riga può (almeno apparentemente) crescere indefinitamente.

Per creare una nuova area di forma rettangolare o circolare si clicchi una volta per selezionare la forma quindi si clicchi di nuovo per ancorarla.  Ciò facendo si apre la finestra di dialogo dei parametri dell'area per cui si può specificare l'URL da associare all'area stessa.  L'area di forma poligonale funziona allo steso identico modo se si eccettua il fatto che è richiesto un doppio click per terminare l'editazione della zona e passare alla finestra dei parametri.  Per di più con le aree di forma poligonale un click sul pulsante sinistro del mouse aggancia un nuovo vertice alla zona mentre un click sul pulsante destro cancella i vertici in ordine inverso.

Per editare le forme delle zone si può cliccare sui loro URL nella finestra di Selezione o cliccare sul tratteggio della zona mentre è abilitato il bottone Select Existing Area (il bottone con la freccia lungo il lato sinistro della finestra di dialogo).  Si noti che quando si edita la grandezza della zona trascinando una delle maniglie del bordo sottolineato della zona stessa, l'aggancio alla funzione griglia non è più in azione.  Non so dire, però, se tale scelta sia stata intenzionale oppure no.  Non ci si sorprenda troppo se dalla prossima versione si avrà un cambiamento che prevederà il raccordo con i valori correnti di griglia.

Una volta predisposti gli URL per le varie zone si possono anche modificare le loro posizioni nella mappa cliccabile.  Quello che segue nella lista ha la più alta precedenza alla zona corrispondente.  Ciò è particolarmente importante per le aree che si sovrappongono.  Si noti nell'esempio della finestra di Selection che ci sono 4 aree definite, l'area 4 avrà precedenza sull'area 3 in tutte le zone nelle quali le due aree si sovrappongono.

Ora che c'è un numero ben definito di aree come si presenta il codice HTML della mappa cliccabile?  Di seguito viene riportato il codice sorgente dell'esempio a sinistra:

<IMG SRC="/home/mjhammel/src/graphics/scenes/stock/ttu-ontour-97.pnm" WIDTH=300 HEIGHT=359 BORDER=0 USEMAP="#">

<MAP NAME="">
<!-- #$-:File Image Map creato con il Plugin Imagemap per GIMP -->
<!-- #$-:GIMP Imagemap Plugin di Maurits Rijk -->
<!-- #$-:Non editare le righe che iniziano con "#$" -->
<!-- #$VERSION:1.1 -->
<!-- #$AUTHOR:Michael J. Hammel -->
<AREA SHAPE="RECT" COORDS="15,15,285,135" HREF="mailto:thisguy@home.org">
<AREA SHAPE="CIRCLE" COORDS="75,135,67" HREF="http://blah.org">
<AREA SHAPE="RECT" COORDS="60,285,255,345" HREF="http://blah.blah.net">
<AREA SHAPE="POLY" COORDS="285,15,195,15,195,60" HREF="ftp://somewhere.com">
<AREA SHAPE="DEFAULT" HREF="http://www.graphics-muse.org/blah/ttu-ontour-98.jpg">
</MAP>

Si noti che l'URL dell'immagine sorgente è il percorso dell'immagine che ho aperto all'interno del Gimp.  Ho cercato all'interno del plug-in ma non ho trovato alcuna maniera di modificare questo dato.  Almeno apparentemente sembra che si debba editare il codice HTML manualmente.  C'è un'opzione per predisporre un URL di partenza, utilizzando l'icona Info, ma non è comunque possibile modificare il riferimento all'immagine sorgente.  Una volta che si disponga dell'output HTML su un file si deve trovare soltanto il modo di importarlo nel proprio file HTML.  Il plug-in Image Map allo stato attuale non consente di disporre direttamente il codice generato all'interno di un file HTML preesistente.

Sfortunatamente ho trovato, oltre ad alcuni problemi specifici della versione 1.1.1, che il plug-in Image Map non consente di fare molte cose che avrei gradito facesse.  Innanzitutto la gestione dell'area poligonale è veramente difficile da realizzare.  Per qualche strano motivo il software si è rifiutato di accettare i miei doppi click per terminare la definizione della zona poligonale a meno che dopo aver effettuato il doppio click non facessi sostare il mouse per qualche secondo.  Se effettuavo il doppio click e mi spostavo troppo velocemente ottenevo ogni tipo di linea a partire dall'ultimo vertice creato fino alla collocazione corrente del mouse, quasi a definire una zona a forma di esplosione stellare.  In ogni caso non corrispondeva comunque a ciò che mi aspettavo.  Il disegno indesiderato dell'esplosione stellare scompare se si copre e quindi si scopre la finestra di Image Map con un'altra finestra (forzando così il rinfresco della finestra per il plug-in di Image Map).  Per uscire da questa modalità, però, sembra sia richiesta la completa cancellazione del poligono mediante la ripetuta pressione del pulsante destro del mouse, fino a quando tutti i vertici non siano stati rimossi.  Sembra che a questo punto il disegno della linea ulteriore non avvenga più.

Un altro piccolo cruccio mi è venuto dai bottoni up e down per spostarsi tra gli URL in quanto la destinazione selezionata si sposta all'inizio o alla fine della lista e non su e giù di una riga per volta.  Ne consegue che il disporre gli URL nella maniera voluta mi ricorda tanto il gioco della Torre di Hanoi.  Per finire ritorno sull'impossibilità di specificare il percorso dell'immagine sorgente senza editare manualmente il file HTML che il plug-in genera.

Lo Zoom richiede un po' di tempo per produrre il suo risultato - esso ingrandisce l'intera immagine e non sembra consenta di specificare un'area sulla quale concentrare l'attenzione.  Ho l'impressione che utilizzi un suo algoritmo di zoom in luogo di quello del Gimp in quanto quest'ultimo è considerevolmente più veloce.  Potrebbe anche darsi peroò che richieda molto più tempo il ricalcolo delle aree della mappa cliccabile.  Altra cosa che non mi piace è il fatto che variazioni di larghezza, altezza o di altri attributi non vengono automaticamente visualizzate.  Ritengo che gli aggiornamenti automatici dovrebbero costituire un'opzione configurabile direttamente dall'utente.

Così come per gli errori c'è stata una serie di altre piccole difficoltà quale la rigenerazione di aree.  A parte i problemi con i poligoni e con il doppio click ho notato che ad un certo punto l'altezza della mia prima zona rettangolare, così come evidenziato nella finestra di dialogo dei parametri, era soltanto di un pixel.  Ad ogni modo ho visto che la maggioranza dei bug rilevati era inessenziale ed in grado di autocorreggersi e che nessuno di essi causava il collasso dell'output HTML prodotto.

Sebbene gradisca che certi aspetti dell'interfaccia vengano modificati ho trovato che il plug-in Image Map per il Gimp scritto da Maurits sia abbastanza stabile e facile da utilizzare oltre a produrre un output HTML sintatticamente corretto.  Se si lavora con grandi quantità di mappe cliccabili o se si vuole soltanto creare una mappa cliccabile per divertirsi allora può essere utile procurarsi il plug-in e darci un'occhiata.  Può sicuramente essere utile a rendere più facile la vita.
indent

[ La pagina della Musa ] [ Indice ]


Per l'articolo originale: © 1999 Michael J. Hammel - Pubblicato sul n. 43 della Linux Gazette
Per l'edizione italiana: © 1998 A. Cartelli - Pubblicato sul n. 4 anno III di LGEI a cura di un gruppo di volontari