#0
by Фокусник
Подскажите алгоритм (или ссылку) преобразования цвета (ярче-темнее) в формате RGB. Например для простого цвета красный (255, 0, 0) понятно: ярче - R уменьшать от 255 до 0 темнее - G и B одинаково увеличивать от 0 до 255
#2
by Фокусник
угу, уже что-то, спасибо (: темнее получается, а ярче тогда если какое-то число уже упёрлось в 255 его как увеличить? например тот же 240, 128, 0 увеличить пропорционально можно только до 255, 136, 0, а еще ярче? (:
#3
by dk
Не в тему, но интересно: Как прообразовать цветную картинку в чернобелую? Понимаю, что R=G=B, но как преобразовать (127, 255, 0)?
#4
by mrkorn
как вариант, градация по суммарной яркости... Серый - 0-255 Цветной 0 - 765 127 + 255 + 0 -> 127
#8
by Груздь
Процедура RGB2HLS(Знач R, Знач G, Знач B,H,L,S) R=R/256; G=G/256; B=B/256; цМин=Мин(R,G,B); цМакс=Макс(R,G,B); LL=(цМин+цМакс)/2; SS=0; Если цМин<>цМакс Тогда Если LL<0.5 Тогда SS=(цМакс-цМин)/(цМакс+цМин); Иначе SS=(цМакс-цМин)/(2-цМакс-цМин); КонецЕсли; Если R=цМакс Тогда HH=(G-B)/(цМакс-цМин) КонецЕсли; Если G=цМакс Тогда HH=2+(B-R)/(цМакс-цМин) КонецЕсли; Если B=цМакс Тогда HH=4+(R-G)/(цМакс-цМин) КонецЕсли; H=Окр(HH*40); КонецЕсли; L=Окр(LL*240); S=Окр(SS*240); КонецПроцедуры //----------------------------------------------------------------------------- Функция ХХХ(Ц,L1,L2) Если Ц<0 Тогда Ц=Ц+1 КонецЕсли; Если Ц>1 Тогда Ц=Ц-1 КонецЕсли; Если 6*Ц<1 Тогда Возврат Окр((L1+(L2-L1)*6*Ц)*255); ИначеЕсли 2*Ц<1 Тогда Возврат Окр(L2*255); ИначеЕсли 3*Ц<2 Тогда Возврат Окр((L1+(L2-L1)*((2/3)-Ц)*6)*255); КонецЕсли; Возврат Окр(L1*255); КонецФункции //----------------------------------------------------------------------------- Процедура HLS2RGB(Знач H,Знач L,Знач S,R,G,B) HH=H/240; LL=L/240; SS=S/240; R=Цел(LL*255); G=R; B=R; Если S>0 Тогда Если LL<0.5 Тогда L2=LL*(1+SS); Иначе L2=LL+SS-LL*SS; КонецЕсли; L1=2*LL-L2; R=ХХХ(HH+1/3,L1,L2); G=ХХХ(HH,L1,L2); B=ХХХ(HH-1/3,L1,L2); КонецЕсли; КонецПроцедуры
Тэги: Математика и алгоритмы
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- v7.7: Выбор цвета RGB
- Как получить RGB пикселя по его координатам в картинке?
- Как выбрать цвет в формате RGB в диалоге? 1с 8.2
- Как преобразовать цвет 1с в RGB?
- Регулировка оборотов кулера видеокарты Nvidia в Linux
- регулировка яркости в флэш плеере возможно?
- Простая регулировка яркости монитора с клавиатуры
В этой группе 1С
- Ограничение доступа к данным по физлицам в ЗУПе
- Как одним запросом получить остатки в разрезе измерения и даты?
- выбор всех родителей элемента справчоника в sql запросе
- Выгрузка проводок из ЗиК 77 в Бух80
- Установить форму выбора для элемента реквизита
- А можно ли переопределить тип колонки дерева значений?
- Как в журнале документов (не в форме списка документа) отобразить флажок
- Ошибка при выгрузке данных из ТиС в Бухгалтерию 7.7
- Параметр виртуальной таблицы "Субконто"
- Как открывать форму списка справочника на конкретном элементе?
- Обновление таблицы значений через определенное время
- v7: v8: В отчетах 4-ФСС, в разных разделах разная численность работников
- Работа со сканером штрихкода в 1С 7.7
- Выгрузить в xml перечисление
- Автосоздание договоров.... УТ
- Удержание по исполнительному листу
- При обновлении конфы - превышено максимальное количество видов субконто у с
- v7: ЗиК 77 релиз 273
- Объединение конфигураций, наложение форм диалога
- v7: Когда выйдет 1.5.16 ?