Web Hosting Talk







View Full Version : from Hex to RGB


DefiantPc
11-05-2002, 08:27 PM
Hi I was wondering if anybody knows of a simple program to convert hex color# to RGB?


-Mj

sasha
11-05-2002, 08:59 PM
Is this what are you looking for ?

$rgb = hexdec(substr($hex, 0, 2)) . hexdec(substr($hex, 2, 2)) . hexdec(substr($hex, 4, 2));

prosayist
11-08-2002, 04:43 AM
.. or is it this?


<script language="javascript" type="text/javascript">
<!-- logicode.net --
function NumToHex(num1,num2) {
strNum=document.forms[0].elements[num1].value;
for(i = 0; i < strNum.length; i++) {
chr=strNum.substring(i, i + 1);
if((isNaN(chr))||(chr == ' ')) {
alert('You must enter a digit between 0 and 9!');
document.forms[0].elements[num1].select();
document.forms[0].elements[num2].value='';
return false;
}
}
if(strNum > 255) {
alert('You must enter a number between 0 and 255!');
document.forms[0].elements[num1].select();
document.forms[0].elements[num2].value='';
return false;
}
else {
base = strNum / 16;
rem = strNum % 16;
base = base - (rem / 16);
baseS = MakeHex(base);
remS = MakeHex(rem);
document.forms[0].elements[num2].value=baseS + '' + remS;
ChangeBackground(3, 4, 5);
return true;
}
}
function MakeHex(x) {
if((x >= 0) && (x <= 9))
return x;
else {
switch(x) {
case 10: return "A";
case 11: return "B";
case 12: return "C";
case 13: return "D";
case 14: return "E";
case 15: return "F";
}
}
}
function HexToNum(num1,num2) {
numberS = document.forms[0].elements[num1].value;
tens = MakeNum(numberS.substring(0,1));
if(tens == 'X') {
document.forms[0].elements[num1].select();
document.forms[0].elements[num2].value='';
return false;
}
ones = 0;
if(numberS.length > 1) // means two characters entered
ones=MakeNum(numberS.substring(1,2));
if(ones == 'X') {
document.forms[0].elements[num1].select();
document.forms[0].elements[num2].value='';
return false;
}
document.forms[0].elements[num2].value = (tens * 16) + (ones * 1);
document.forms[0].elements[num1].value = document.forms[0].elements[num1].value.toUpperCase();
ChangeBackground(3, 4, 5);
return true;
}
function MakeNum(str) {
if((str >= 0) && (str <= 9))
return str;
switch(str.toUpperCase()) {
case "A": return 10;
case "B": return 11;
case "C": return 12;
case "D": return 13;
case "E": return 14;
case "F": return 15;
default: alert('You must choose a number between 0 and 9 or a letter between A and F!');
return 'X';
}
}
function ChangeBackground(num1, num2, num3) {
document.bgColor = '#'+document.forms[0].elements[num1].value + document.forms[0].elements[num2].value + document.forms[0].elements[num3].value;
}
// End -->
</script>
<form>
<table border="1" align="center" cellpadding="10" bgcolor="#C7C7C7">
<tr>
<th>Color/Code</th>
<th>Red</th>
<th>Green</th>
<th>Blue</th>
</tr>
<tr>
<th>0-255</th>
<td><input type="text" name="rr_num" size="4" maxlength="3" onKeyUp="return NumToHex(0,3);"></td>
<td><input type="text" name="gg_num" size="4" maxlength="3" onKeyUp="return NumToHex(1,4);"></td>
<td><input type="text" name="bb_num" size="4" maxlength="3" onKeyUp="return NumToHex(2,5);"></td>
</tr>
<tr>
<th>HEX</th>
<td><input type="text" name="rr_hex" size="4" maxlength="2" onKeyUp="return HexToNum(3,0);"></td>
<td><input type="text" name="gg_hex" size="4" maxlength="2" onKeyUp="return HexToNum(4,1);"></td>
<td><input type="text" name="bb_hex" size="4" maxlength="2" onKeyUp="return HexToNum(5,2);"></td>
</tr>
</table>
</form>


(javascript page, creates a form into which you enter hex number, converts to RGB or vice versa)

DefiantPc
11-08-2002, 04:03 PM
Here is what I ended up with I havn't checked my code for errors so forgive any slop...

Thank's for the help... - Mj

<script language="JavaScript">

function GiveDec(Hex)

{

if(Hex == "A")

Value = 10;

else

if(Hex == "B")

Value = 11;

else

if(Hex == "C")

Value = 12;

else

if(Hex == "D")

Value = 13;

else

if(Hex == "E")

Value = 14;

else

if(Hex == "F")

Value = 15;

else

Value = eval(Hex);



return Value;

}



function GiveHex(Dec)

{

if(Dec == 10)

Value = "A";

else

if(Dec == 11)

Value = "B";

else

if(Dec == 12)

Value = "C";

else

if(Dec == 13)

Value = "D";

else

if(Dec == 14)

Value = "E";

else

if(Dec == 15)

Value = "F";

else

Value = "" + Dec;



return Value;

}



function HexToDec()

{

Input = window.document.forms['ConvertForm'].elements['HexInput'].value;



Input = Input.toUpperCase();



a = GiveDec(Input.substring(0, 1));

b = GiveDec(Input.substring(1, 2));

c = GiveDec(Input.substring(2, 3));

d = GiveDec(Input.substring(3, 4));

e = GiveDec(Input.substring(4, 5));

f = GiveDec(Input.substring(5, 6));



x = (a * 16) + b;

y = (c * 16) + d;

z = (e * 16) + f;



window.document.forms['ConvertForm'].elements['RedOutput'].value = x;

window.document.forms['ConvertForm'].elements['GreenOutput'].value = y;

window.document.forms['ConvertForm'].elements['BlueOutput'].value = z;



}



function DecToHex()

{

Red = window.document.forms['ConvertForm'].elements['RedInput'].value;

Green = window.document.forms['ConvertForm'].elements['GreenInput'].value;

Blue = window.document.forms['ConvertForm'].elements['BlueInput'].value;



a = GiveHex(Math.floor(Red / 16));

b = GiveHex(Red % 16);

c = GiveHex(Math.floor(Green / 16));

d = GiveHex(Green % 16);

e = GiveHex(Math.floor(Blue / 16));

f = GiveHex(Blue % 16);



z = a + b + c + d + e + f;



window.document.forms['ConvertForm'].elements['HexOutput'].value = z;



}

</script>

<form name="ConvertForm">
<table width="400"
border="1"
cellpadding="2"
align="center"
bgColor="ffffff"
<tr>
<td colspan=3 align="center" valign="middle" >
HEX to RGB
</td>
<td colspan=3 align="center" valign="middle">
RGB to HEX
</td>
</tr>
<td colspan=3 align="center" valign="middle">
<input type="Text" name="HexInput" maxlength="6" size="19">
</td>
<td align="center" valign="middle">
Red
</td>
<td align="center" valign="middle">
Green
</td>
<td align="center" valign="middle">
Blue
</td>
</tr>
<tr>
<td colspan=3 align="center" valign="middle">
<input type="Button" value="Convert" onClick="HexToDec()" name="Button">
</td>
<td align="center" valign="middle">
<input type="Text" size="4" name="RedInput" maxlength="3">
</td>
<td align="center" valign="middle">
<input type="Text" size="4" name="GreenInput" maxlength="3">
</td>
<td align="center" valign="middle">
<input type="Text" size="4" name="BlueInput" maxlength="3">
</td></tr>
<tr>
<td align="center" valign="middle">
Red
</td>
<td align="center" valign="middle">
Green
</td>
<td align="center" valign="middle">
Blue
</td>
<td colspan=3 align="center" valign="middle">
<input type="Button" value="Convert" onClick="DecToHex()" name="Button">
</td></tr>
<tr>
<td align="center" valign="middle">
<input type="Text" size="4" name="RedOutput" maxlength="3">
</td>
<td align="center" valign="middle">
<input type="Text" size="4" name="GreenOutput" maxlength="3">
</td>
<td align="center" valign="middle">
<input type="Text" size="4" name="BlueOutput" maxlength="3">
</td>
<td colspan=3 align="center" valign="middle">
<input type="Text" size="19" name="HexOutput" maxlength="6">
</td></tr></form>
</table>

dTuesday
11-08-2002, 09:08 PM
Originally posted by DefiantPc
Hi I was wondering if anybody knows of a simple program to convert hex color# to RGB?


-Mj

PhotoShop?? hehehe. :laugh:

sorry, I couldn't help it.

- D