Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Помогите добиться контрастности (http://www.flasher.ru/forum/showthread.php?t=145807)

forcelain 20.10.2010 11:42

Помогите добиться контрастности
 
Я создаю текстовое поле со случайным цветом текста и фона примерно так:

Код AS3:

var bg:uint = Math.ceil(Math.random()*uint.MAX_VALUE;
var clr:uint = Math.ceil(Math.random()*uint.MAX_VALUE;

Соответственно, бывают моменты, когда в переменные bg и clr генерируются почти одинаковые цвета текста и фона. Надпись, конечно, в этом случае прочитать очень трудно

Помогите, плиз, решить проблемку :)

arkadattx 20.10.2010 12:02

Может HSV?

drnet_ua 20.10.2010 12:03

подход не правильный имхо.

надо копать в сторону HLS

где рандомно задавать H диаметрально противоположные и выше среднего S для обоих, а дальше для одного L больше, а для другого меньше

както-так

Добавлено через 1 минуту
ну да :) или ТАК

Добавлено через 3 минуты
вот что-то по теме, но не проверял

forcelain 20.10.2010 16:27

Пасиб за идею. Но есть еще вопросик:
Вот я сгенерю нужные значения (HSV или HUE) и, переведя их в RGB схему, я получу десятичное значение каждого из составляющих в десятичной системе. А как же мне теперь из них состряпать что-то вроде 0x01af8b ?

arkadattx 20.10.2010 16:48

Ну как закодировали в одну сторону, также можно и в другую. Поугуглить - там есть алгоритмы.

gloomyBrain 20.10.2010 16:48

десятичная, 16-ричная и прочие системы - это способы отображения числа. Само число от этого не меняется =)
Знаете есть футболки с такими надписями: "Есть 10 вида людей, одни понимают двоичный код, другие нет". В данном случае 10 - это двоичное представление числа 2. То есть как мы поняли с надписи на футболке, 2 оно и есть 2, как его не запиши.


Часовой пояс GMT +4, время: 06:06.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.