13 янв 2012
Маленький хак перевода RGB-цвета в Hex
Ivan Категория: DATALIFE ENGINE » Модули
У нас вы можете скачать бесплатно Маленький хак перевода RGB-цвета в Hex

Данный материал предоставлен сайтом Skripter.info исключительно в ознакомительных целях. Администрация не несет ответственности за его содержимое.
Маленький хак перевода RGB-цвета в Hex


Простой скриптик калькулятора/переводчика RGB-кода цвета в Hex(HTML)-код! Вобщем посмотрите и всё поймёте:



Инструкция:
1. Перед /head> вставляем:

<SCRIPT LANGUAGE="javascript">  
function showRGB(f) {  
red = f.red.value;  
green = f.green.value;  
blue = f.blue.value;  
var hexarray= new Array(256);  
hexarray[0]="00"; hexarray[1]="01"; hexarray[2]="02";  
hexarray[3]="03"; hexarray[4]="04"; hexarray[5]="05";  
hexarray[6]="06"; hexarray[7]="07"; hexarray[8]="08";  
hexarray[9]="09"; hexarray[10]="0A"; hexarray[11]="0B";  
hexarray[12]="0C"; hexarray[13]="0D"; hexarray[14]="0E";  
hexarray[15]="0F"; hexarray[16]="10"; hexarray[17]="11";  
hexarray[18]="12"; hexarray[19]="13"; hexarray[20]="14";  
hexarray[21]="15"; hexarray[22]="16"; hexarray[23]="17";  
hexarray[24]="18"; hexarray[25]="19"; hexarray[26]="1A";  
hexarray[27]="1B"; hexarray[28]="1C"; hexarray[29]="1D";  
hexarray[30]="1E"; hexarray[31]="1F"; hexarray[32]="20";  
hexarray[33]="21"; hexarray[34]="22"; hexarray[35]="23";  
hexarray[36]="24"; hexarray[37]="25"; hexarray[38]="26";  
hexarray[39]="27"; hexarray[40]="28"; hexarray[41]="29";  
hexarray[42]="2A"; hexarray[43]="2B"; hexarray[44]="2C";  
hexarray[45]="2D"; hexarray[46]="2E"; hexarray[47]="2F";  
hexarray[48]="30"; hexarray[49]="31"; hexarray[50]="32";  
hexarray[51]="33"; hexarray[52]="34"; hexarray[53]="35";  
hexarray[54]="36"; hexarray[55]="37"; hexarray[56]="38";  
hexarray[57]="39"; hexarray[58]="3A"; hexarray[59]="3B";  
hexarray[60]="3C"; hexarray[61]="3D"; hexarray[62]="3E";  
hexarray[63]="3F"; hexarray[64]="40"; hexarray[65]="41";  
hexarray[66]="42"; hexarray[67]="43"; hexarray[68]="44";  
hexarray[69]="45"; hexarray[70]="46"; hexarray[71]="47";  
hexarray[72]="48"; hexarray[73]="49"; hexarray[74]="4A";  
hexarray[75]="4B"; hexarray[76]="4C"; hexarray[77]="4D";  
hexarray[78]="4E"; hexarray[79]="4F"; hexarray[80]="50";  
hexarray[81]="51"; hexarray[82]="52"; hexarray[83]="53";  
hexarray[84]="54"; hexarray[85]="55"; hexarray[86]="56";  
hexarray[87]="57"; hexarray[88]="58"; hexarray[89]="59";  
hexarray[90]="5A"; hexarray[91]="5B"; hexarray[92]="5C";  
hexarray[93]="5D"; hexarray[94]="5E"; hexarray[95]="6F";  
hexarray[96]="60"; hexarray[97]="61"; hexarray[98]="62";  
hexarray[99]="63"; hexarray[100]="64"; hexarray[101]="65";  
hexarray[102]="66"; hexarray[103]="67"; hexarray[104]="68";  
hexarray[105]="69"; hexarray[106]="6A"; hexarray[107]="6B";  
hexarray[108]="6C"; hexarray[109]="6D"; hexarray[110]="6E";  
hexarray[111]="6F"; hexarray[112]="70"; hexarray[113]="71";  
hexarray[114]="72"; hexarray[115]="73"; hexarray[116]="74";  
hexarray[117]="75"; hexarray[118]="76"; hexarray[119]="77";  
hexarray[120]="78"; hexarray[121]="79"; hexarray[122]="7A";  
hexarray[123]="7B"; hexarray[124]="7C"; hexarray[125]="7D";  
hexarray[126]="7E"; hexarray[127]="7F"; hexarray[128]="80";  
hexarray[129]="81"; hexarray[130]="82"; hexarray[131]="83";  
hexarray[132]="84"; hexarray[133]="85"; hexarray[134]="86";  
hexarray[135]="87"; hexarray[136]="88"; hexarray[137]="89";  
hexarray[138]="8A"; hexarray[139]="8B"; hexarray[140]="8C";  
hexarray[141]="8D"; hexarray[142]="8E"; hexarray[143]="8F";  
hexarray[144]="90"; hexarray[145]="91"; hexarray[146]="92";  
hexarray[147]="93"; hexarray[148]="94"; hexarray[149]="95";  
hexarray[150]="96"; hexarray[151]="97"; hexarray[152]="98";  
hexarray[153]="99"; hexarray[154]="9A"; hexarray[155]="9B";  
hexarray[156]="9C"; hexarray[157]="9D"; hexarray[158]="9E";  
hexarray[159]="9F"; hexarray[160]="A0"; hexarray[161]="A1";  
hexarray[162]="A2"; hexarray[163]="A3"; hexarray[164]="A4";  
hexarray[165]="A5"; hexarray[166]="A6"; hexarray[167]="A7";  
hexarray[168]="A8"; hexarray[169]="A9"; hexarray[170]="AA";  
hexarray[171]="AB"; hexarray[172]="AC"; hexarray[173]="AD";  
hexarray[174]="AE"; hexarray[175]="AF"; hexarray[176]="B0";  
hexarray[177]="B1"; hexarray[178]="B2"; hexarray[179]="B3";  
hexarray[180]="B4"; hexarray[181]="B5"; hexarray[182]="B6";  
hexarray[183]="B7"; hexarray[184]="B8"; hexarray[185]="B9";  
hexarray[186]="BA"; hexarray[187]="BB"; hexarray[188]="BC";  
hexarray[189]="BD"; hexarray[190]="BE"; hexarray[191]="BF";  
hexarray[192]="C0"; hexarray[193]="C1"; hexarray[194]="C2";  
hexarray[195]="C3"; hexarray[196]="C4"; hexarray[197]="C5";  
hexarray[198]="C6"; hexarray[199]="C7"; hexarray[200]="C8";  
hexarray[201]="C9"; hexarray[202]="CA"; hexarray[203]="CB";  
hexarray[204]="CC"; hexarray[205]="CD"; hexarray[206]="CE";  
hexarray[207]="CF"; hexarray[208]="D0"; hexarray[209]="D1";  
hexarray[210]="D2"; hexarray[211]="D3"; hexarray[212]="D4";  
hexarray[213]="D5"; hexarray[214]="D6"; hexarray[215]="D7";  
hexarray[216]="D8"; hexarray[217]="D9"; hexarray[218]="DA";  
hexarray[219]="DB"; hexarray[220]="DC"; hexarray[221]="DD";  
hexarray[222]="DE"; hexarray[223]="DF"; hexarray[224]="E0";  
hexarray[225]="E1"; hexarray[226]="E2"; hexarray[227]="E3";  
hexarray[228]="E4"; hexarray[229]="E5"; hexarray[230]="E6";  
hexarray[231]="E7"; hexarray[232]="E8"; hexarray[233]="E9";  
hexarray[234]="EA"; hexarray[235]="EB"; hexarray[236]="EC";  
hexarray[237]="ED"; hexarray[238]="EE"; hexarray[239]="EF";  
hexarray[240]="F0"; hexarray[241]="F1"; hexarray[242]="F2";  
hexarray[243]="F3"; hexarray[244]="F4"; hexarray[245]="F5";  
hexarray[246]="F6"; hexarray[247]="F7"; hexarray[248]="F8";  
hexarray[249]="F9"; hexarray[250]="FA"; hexarray[251]="FB";  
hexarray[252]="FC"; hexarray[253]="FD"; hexarray[254]="FE";  
hexarray[255]="FF";  
hexcode = "#" + hexarray[red] + hexarray[green] + hexarray[blue];  
f.hexval.value = hexcode;  
}  
</script>


2. В нужном месте вставить:
<center><form name=rgbform>  
<tt>  
<b><font size="2"><font color="#000000">Введите  
</font><font color="#FF0000">Red  
</font><font size="3" color="#000000">(красный),  
</font><font color="#008000">Green  
</font><font size="3" color="#000000"> (зеленый), и  
</font><font color="#0000FF">Blue  
</font><font size="3" color="#000000"> (синий) цвета. (от 0 до 255)  
</font></font></b><font size="3" color="#000000">  
Red:&nbsp;&nbsp; <input type="text" name="red" size="4">  
Green: <input type="text" name="green" size="4">  
Blue:&nbsp; <input type="text" name="blue" size="4">  
<input type=button value="Показать Hex #" onclick="showRGB(this.form)">  
Hex код: <input type=text name=hexval size=7>  
</tt>  
</form>  
</center>









Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.
Ivan | 13 января 2012 18:28
  • Группа: Посетители |
  • Комментарий: 1 (ссылка)

Скоро ещё выложу сам php-скрипт счёта, здесь просто подстанока и условия, а нужно будет придумать закономерность и написать по высчитыванию кода!

ado-dranik-mogilev | 13 января 2012 21:24
  • Группа: Посетители |
  • Комментарий: 2 (ссылка)

А причем тут DLE и хак ?

Rezax07 | 24 января 2012 20:25
  • Группа: Посетители |
  • Комментарий: 3 (ссылка)

Супер, но как-то примитивно. В конце концов, если развить идею, может что и выйдет. Жду реализации на php.

Лично Я предпочитаю экстрим-коддинг и вот как бы решил ту же задачу:
<html>
<head><title>Переводчик RGB в HEX (by Rezax07)</title>
<script language="javascript">  
function showRGB(f) {
var rgba=f.rgb.value.split(',');
var hexa=("00-01-02-03-04-05-06-07-08-09-0A-0B-0C-0D-0E-0F-10-11-12-13-14-15
-16-17-18-19-1A-1B-1C-1D-1E-1F-20-21-22-23-24-25-26-27-28-29-2A-2B-2C-2D-2E-2F-3
0-31-32-33-34-35-36-37-38-39-3A-3B-3C-3D-3E-3F-40-41-42-43-44-45-46-47-48-49-4A-
4B-4C-4D-4E-4F-50-51-52-53-54-55-56-57-58-59-5A-5B-5C-5D-5E-6F-60-61-62-63-64-65
-66-67-68-69-6A-6B-6C-6D-6E-6F-70-71-72-73-74-75-76-77-78-79-7A-7B-7C-7D-7E-7F-8
0-81-82-83-84-85-86-87-88-89-8A-8B-8C-8D-8E-8F-90-91-92-93-94-95-96-97-98-99-9A-
9B-9C-9D-9E-9F-A0-A1-A2-A3-A4-A5-A6-A7-A8-A9-AA-AB-AC-AD-AE-AF-B0-B1-B2-B3-B4-B5
-B6-B7-B8-B9-BA-BB-BC-BD-BE-BF-C0-C1-C2-C3-C4-C5-C6-C7-C8-C9-CA-CB-CC-CD-CE-CF-D
0-D1-D2-D3-D4-D5-D6-D7-D8-D9-DA-DB-DC-DD-DE-DF-E0-E1-E2-E3-E4-E5-E6-E7-E8-E9-EA-
EB-EC-EC-ED-EE-EF-F0-F1-F2-F3-F4-F5-F6-F7-F8-F9-FA-FB-FC-FD-FE-FF").spli
t('-');
f.hexval.value="#"+hexa[rgba[0]]+hexa[rgba[1]
;]+hexa[rgba[2]];
}
</script>
</head>
<body>

<center>
<form name="rgbform">
<b>Введите RGB-код цвета в формате: "ххх,ххх,ххх"</b><br/>
RGB(<input type="text" name="rgb" size="11" value="77,177,207">)<br/>
<input type=button value="Показать Hex #" onclick="showRGB(this.form)"><br/>
Hex:<input type="text" name="hexval" size="7">  
</form>  
</center>

</body>
</html>


C запятой лучше, но кто разберётся может переписать как в оригинале. В моём примере массив из семсот семидесяти символов всего :)

Юрий | 13 февраля 2012 14:57

У меня такой вопрос. Предположим, имеются образцы из таблицы html-цветов: black – #000000, red – #FF0000, brown – #A52A2A, crimson – #DC143C и т. д. Сложно ли доработать код скрипта так, чтобы по введённым «от фонаря» значениям RGB приводился список наиболее близких образцов?
Заранее благодарю за ответ.

Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.