Originalmente inviato da
allo
...e volevo che poi una cella si colorasse del colore scelto.
Infine questa pagina invia il colore selezionato ad una pagina PHP che attraverso la libreria GD crea un immagine con il colore di sfondo, che però deve essere in RGB.
In altre parole ti serve una funzione javascript che, a partire dalle 3 componenti, calcoli la stringa HTML del colore che hai scelto.
Prova questa funzione (dato che la sto improvvisando, non so dirti se funzionerà...)
Codice:
function componentsToHTML (red, green, blue)
{
var argv = componentsToHTML.arguments;
var argc = argv.length;
var str = "#";
for (var i = 0; i < argc; i++)
{
// EDIT: prima non scriveva bene i valori...
var digits = new Array (Math.floor (argv[i] / 16), argv[i] % 16);
// EDIT: c'era un punto e virgola di troppo...
for (var j = 0; j < digits.length; j++)
{
switch (digits[j])
{
case 10: str += 'A'; break;
case 11: str += 'B'; break;
case 12: str += 'C'; break;
case 13: str += 'D'; break;
case 14: str += 'E'; break;
case 15: str += 'F'; break;
default: str += digits[j];
}
}
}
return str;
}
Questa funzione la aggiungi nella parte di script all'inizio della pagina (che dovrebbe essere compresa, se ho capito bene, nei tag <HEAD>).
La cella della tabella dovresti crearla così, all'interno del modulo:
Codice HTML:
<TABLE WIDTH="..." HEIGHT="..." BORDER="...">
<!-- EDIT: ho cambiato le specifiche della cella -->
<TR><TD ID="my_cell">
<INPUT TYPE="hidden" NAME="data_hidden">
</TD></TR>
</TABLE>
<INPUT TYPE="submit" VALUE="crea immagine">
Nei tag <SCRIPT> ti consiglio anche di aggiungere una funzione di supporto del genere:
Codice:
function cambiaColore (red, green, blue)
{
colore (red, green, blue);
var data = componentsToHTML (red, green, blue);
// EDIT: ho cambiato la seguente riga di codice
document.all.my_cell.style.background = data;
document.modulo.data_hidden.value = data;
}
e nei vari link della mappa cambi il colore in questo modo:
Codice HTML:
<AREA ... HREF="javascript:cambiaColore(rr, gg, bb)">
dove rr, gg, bb sono le componenti del nuovo colore (immagino diverse per ogni cella).
Infine, aggiungi l'attributo ACTION="elabora.php" al tuo form, in modo che tu possa inviarlo (la variabile che contiene il colore pronto all'uso si chiama $data_hidden).
Puoi verificare il funzionamento di questo script su questa pagina: http://dementialsite.altervista.org/...ori/colori.htm.
Spero di averti chiarito i dubbi... stammi bene...