Просмотр полной версии : проверка контрасности
Получаем два цвета рандомом от 0xffffff. Как проверить их контрасность (порог установлен заранее)? Пробовал через разность - не то.
а что такое "контрастность цвета"? :)
мож ты имеешь ввиду "насколько эти цвета далеки друг от друга в пространстве Rgb" ?
Разность между цветами я бы считал так:
function colorsDistance(color1,color2)
{
//переводим в строки
var col1_str=color1.toString(16);
var col2_str=color2.toString(16);
//значения rgb для color1
var r1=Number("0x"+col1_str.substring(0,2));
var g1=Number("0x"+col1_str.substring(2,4));
var b1=Number("0x"+col1_str.substring(4,6));
//значения rgb для color2
var r2=Number("0x"+col2_str.substring(0,2));
var g2=Number("0x"+col2_str.substring(2,4));
var b2=Number("0x"+col2_str.substring(4,6));
//расстояние между цветами в 3D пространстве rgb
return Math.sqrt((r2-r1)*(r2-r1)+(g2-g1)*(g2-g1)+(b2-b1)*(b2-b1))
}
//Проверяем
trace(colorsDistance(0xD5D6D7,0xD2D1ff));
KidsKilla
04.07.2005, 23:13
http://proto.layer51.com/d.aspx?f=497
var diff = my1_mc.getHSB().b - my2_mc.getHSB().b
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.