Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 30.11.2010, 16:02   #1
kraw2
Пользователь
 
Регистрация: 19.02.2008
Сообщений: 24
По умолчанию Алгоритм подбора цвета по целому

Здравствуйте, уважаемые.
Написал функцию подбора осветленного цвета по коду
(принцип осветления из Delphi World 6 Pro):

function Lighter(Color: Longint):TColor;
// Подбор цвета по целому
var
r, g, b, Percent, pr, pg, pb: Longint;
begin
Color:=ColorToRGB(1000*Color);
r:=GetRValue(Color);
g:=GetGValue(Color);
b:=GetBValue(Color);
if r > 0 then
pr:=(255 div r) * 100 - 100
else
pr:=10;
if g > 0 then
pg:=(255 div g) * 100 - 100
else
pg:=10;
if b > 0 then
pb:=(255 div b) * 100 - 100
else
pb:=10;
Percent:=(pr+pg+pb) div 3;
if Percent < 20 then Percent:=20+Percent;
r:=r+muldiv(255-r,Percent,100); //процент% увеличения яркости
g:=g+muldiv(255-g,Percent,100);
b:=b+muldiv(255-b,Percent,100);
result:=RGB(r,g,b);
end;

Не нравится: 1) Иногда попадаются темные тона.
2) Цвет у рядом стоящих целых очень близок.

Может кто сталкивался с проблемой получения осветленных тонов по целому значению числа. Нужен алгоритм.

Последний раз редактировалось kraw2; 30.11.2010 в 16:05.
kraw2 вне форума
Старый 30.11.2010, 16:04   #2
spamer
Software Developer
Старожил
 
Аватар для spamer
 
Регистрация: 19.12.2008
Сообщений: 2,070
По умолчанию

Оформи код соответственно (#), пока тему не прикрыли...
Будь проще и люди к тебе потянутся
spamer вне форума
Старый 30.11.2010, 16:07   #3
kraw2
Пользователь
 
Регистрация: 19.02.2008
Сообщений: 24
По умолчанию

Что значит оформи код соотвественно?
kraw2 вне форума
Старый 30.11.2010, 16:18   #4
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Ну вот, закрыли... Почему ?!
Неужели придется внимательно читать правила раздела ???
mihali4 вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Найти в массиве число наиболее близокое к целому числу Willow Помощь студентам 2 16.01.2010 13:33
Спам атака методом подбора. Alex Cones Свободное общение 14 21.10.2009 11:22
значение получившегося выражения должно быть равно заданному целому S Elm0 Паскаль, Turbo Pascal, PascalABC.NET 6 18.01.2008 00:13
Метод подбора (доделка программы ) soulmaster Помощь студентам 3 12.12.2007 11:12