469,288 Members | 2,353 Online
Bytes | Developer Community
New Post

Home Posts Topics Members FAQ

Post your question to a community of 469,288 developers. It's quick & easy.

Get background color from IE in rgb format?

We've got some JavaScript code that gets the current background color.
It works, but Netscape returns it in rgb format, while IE returns it as
the color
text name (e.g., 'white'). We need to do some math calculations on the
color,
so I want the rgb values. How can I get IE to return the background
color in rgb
format, or how do I convert the text color to its rgb value? Thanks!

May 19 '06 #1
8 12220
Here's a link that may help
http://web.njit.edu/~kevin/rgb.txt.html

<te*****@ucia.gov> wrote in message
news:11**********************@y43g2000cwc.googlegr oups.com...
We've got some JavaScript code that gets the current background color.
It works, but Netscape returns it in rgb format, while IE returns it as
the color
text name (e.g., 'white'). We need to do some math calculations on the
color,
so I want the rgb values. How can I get IE to return the background
color in rgb
format, or how do I convert the text color to its rgb value? Thanks!


Here's a link that may help
http://web.njit.edu/~kevin/rgb.txt.html
HTH
Hal
May 19 '06 #2
Thanks, but I don't want to hardcode the rgb values in my code. I was
hoping for some attribute I could access or parameter I could pass to
an existing method that would return the current background color as an
rgb value rather than as the color name.

May 21 '06 #3

te*****@ucia.gov wrote:
Thanks, but I don't want to hardcode the rgb values in my code. I was
hoping for some attribute I could access or parameter I could pass to
an existing method that would return the current background color as an
rgb value rather than as the color name.


I haven't tried it, but you could look at
http://www.phpied.com/rgb-color-parser-in-javascript/

May 21 '06 #4

<te*****@ucia.gov> schreef in bericht
news:11**********************@y43g2000cwc.googlegr oups.com...
We've got some JavaScript code that gets the current background color.
It works, but Netscape returns it in rgb format, while IE returns it as
the color
text name (e.g., 'white'). We need to do some math calculations on the
color,
so I want the rgb values. How can I get IE to return the background
color in rgb
format, or how do I convert the text color to its rgb value? Thanks!


Only works for Internet Explorer!!!!!!!!!!

Create a table with it's visibility style set to hidden, set this tables
bgcolor
to the named color:
<table id="temptable" bgcolor="indigo"><tr><td></td></tr></table>

then request back the color:
document.getElementById("temptable").bgColor

it should return a hex color...

full sample:

<html>
<head>
<style>
#temptable{visibility:hidden}
</style>
<script>
var hexChars = "0123456789ABCDEF";
function Dec2Hex (Dec) {
// this function isn't used in this sample
var a = Dec % 16;
var b = (Dec - a)/16;
hex = "" + hexChars.charAt(b) + hexChars.charAt(a);
return hex;
}
function Hex2Dec(HexVal){
HexVal = HexVal.toUpperCase();
var DecVal = 0;
var temp = HexVal.substring(0,1);
DecVal = (hexChars.indexOf(temp) * 16);
temp = HexVal.substring(1);
DecVal += hexChars.indexOf(temp);
return DecVal;
}

function test(){
var HexString = document.getElementById("temptable").bgColor;
var r = Hex2Dec(HexString.substring(1,3));
var g = Hex2Dec(HexString.substring(3,5));
var b = Hex2Dec(HexString.substring(5,7));
alert("hex: " + HexString + "\nrgb: " + r + " " + g + " " + b);
}
</script>
</head>
<body onclick="test()">

<table id="temptable" bgcolor="indigo"><tr><td></td></tr></table>

</body>
</html>
May 21 '06 #5
Marc wrote on 21 mei 2006 in comp.lang.javascript:
function Hex2Dec(HexVal){
HexVal = HexVal.toUpperCase();
var DecVal = 0;
var temp = HexVal.substring(0,1);
DecVal = (hexChars.indexOf(temp) * 16);
temp = HexVal.substring(1);
DecVal += hexChars.indexOf(temp);
return DecVal;
}


function Hex2Dec(x){
var y = 0, z;
for(var i=0;i<x.length;i++){
z = x.toUpperCase().charCodeAt(i)
y = 16*y+z-((z<58)?48:55)
}
return y;
}

[works for any length hex string within reason, even empty string]

==================

function colorhex2dec(x){
return x.replace(/(..)/g,function($1){return Hex2Dec($1)+' '})
}

alert(colorhex2dec('abcd10')) // 171 205 16

--
Evertjan.
The Netherlands.
(Please change the x'es to dots in my emailaddress)
May 21 '06 #6
<knip>

function Hex2Dec(x){
var y = 0, z;
for(var i=0;i<x.length;i++){
z = x.toUpperCase().charCodeAt(i)
y = 16*y+z-((z<58)?48:55)
}
return y;
}

[works for any length hex string within reason, even empty string]

==================

function colorhex2dec(x){
return x.replace(/(..)/g,function($1){return Hex2Dec($1)+' '})
}

alert(colorhex2dec('abcd10')) // 171 205 16


Ah! nice... ;-)
May 22 '06 #7
Marc wrote on 22 mei 2006 in comp.lang.javascript:
<knip>


Going Dutch?

Chello.nl?

--
Evertjan.
The Netherlands.
(Please change the x'es to dots in my emailaddress)
May 22 '06 #8
>> <knip>

Going Dutch?

Chello.nl?

yeps... but now at work ;-)
May 22 '06 #9

This discussion thread is closed

Replies have been disabled for this discussion.

Similar topics

25 posts views Thread by Neal | last post: by
27 posts views Thread by Kevin Yu | last post: by
reply views Thread by Bell, Kevin | last post: by
3 posts views Thread by bulwark_jrm | last post: by
1 post views Thread by CARIGAR | last post: by
reply views Thread by zhoujie | last post: by
reply views Thread by suresh191 | last post: by
By using this site, you agree to our Privacy Policy and Terms of Use.