цвет гармония

Смешивание цветов -> Форум на Исходниках.Ру html { overflow-x: auto } .mstop { BORDER-RIGHT: #000 1px dotted; PADDING-RIGHT: 3px; BORDER-TOP: #000 1px dotted; PADDING-LEFT: 3px; FONT-WEIGHT: bold; FONT-SIZE: 10px; BACKGROUND: #e4eaf2; PADDING-BOTTOM: 3px; MARGIN: 8px auto 0px; BORDER-LEFT: #8394b2 4px solid; COLOR: #000; PADDING-TOP: 3px; BORDER-BOTTOM: 0px } .msmain { BORDER-RIGHT: #000 1px dotted; PADDING-RIGHT: 4px; BORDER-TOP: 0px; PADDING-LEFT: 4px; BACKGROUND: #fafcfe; PADDING-BOTTOM: 4px; MARGIN: 0px auto 8px; BORDER-LEFT: #8394b2 4px solid; COLOR: #465584; PADDING-TOP: 4px; BORDER-BOTTOM: #000 1px dotted } .gmstop { BORDER-RIGHT: #000 1px dotted; PADDING-RIGHT: 3px; BORDER-TOP: #000 1px dotted; PADDING-LEFT: 3px; FONT-WEIGHT: bold; FONT-SIZE: 10px; BACKGROUND: #faa298; PADDING-BOTTOM: 3px; MARGIN: 8px auto 0px; BORDER-LEFT: #8394b2 4px solid; COLOR: #000; PADDING-TOP: 3px; BORDER-BOTTOM: 0px } .gmsmain { BORDER-RIGHT: #000 1px dotted; PADDING-RIGHT: 4px; BORDER-TOP: 0px; PADDING-LEFT: 4px; BACKGROUND: #fafcfe; PADDING-BOTTOM: 4px; MARGIN: 0px auto 8px; BORDER-LEFT: #8394b2 4px solid; COLOR: #465584; PADDING-TOP: 4px; BORDER-BOTTOM: #000 1px dotted } form { display: inline } img { vertical-align: middle; border: 0px } BODY { font-family: Verdana, Tahoma, Arial, sans-serif; font-size: 11px; color: #000; margin: 0px 10px 0px 10px; background-color: #FFF } TABLE, TR, TD { font-family: Verdana, Tahoma, Arial, sans-serif; font-size: 11px; color: #000 } a:link, a:active, a:visited { text-decoration: underline; color: #000000 } a:hover { color: #CC3333 } .spoiler { FONT-FAMILY: Verdana, Tahoma, Arial, sans-serif; FONT-SIZE: 11px; BORDER: #333333 1px solid; COLOR: #666666; BACKGROUND-COLOR: #666666; } fieldset.search { padding: 6px; line-height: 150% } label { cursor: pointer } img.attach { border: 2px outset #EEF2F7; padding: 2px } .googleroot { padding: 6px; line-height: 130% } .googlechild { padding: 6px; margin-left: 30px; line-height: 130% } .googlebottom, .googlebottom a:link, .googlebottom a:visited, .googlebottom a:active { font-size: 11px; color: #3A4F6C } .googlish, .googlish a:link, .googlish a:visited, .googlish a:active { font-size: 14px; font-weight: bold; color: #00D } .googlepagelinks { font-size: 1.1em; letter-spacing: 1px } .googlesmall, .googlesmall a:link, .googlesmall a:active, .googlesmall a:visited { font-size: 10px; color: #434951 } li.helprow { padding: 0px; margin: 0px 0px 10px 0px } ul#help { padding: 0px 0px 0px 15px } option.cat { font-weight: bold } option.sub { font-weight: bold; color: #555 } .caldate { text-align: right; font-weight: bold; font-size: 11px; color: #777; background-color: #DFE6EF; padding: 4px; margin: 0px } .warngood { color: green } .warnbad { color: red } #padandcenter { margin-left: auto; margin-right: auto; text-align: center; padding: 14px 0px 14px 0px } #profilename { font-size: 28px; font-weight: bold } #calendarname { font-size: 22px; font-weight: bold } #photowrap { padding: 6px } #phototitle { font-size: 24px; border-bottom: 1px solid black } #photoimg { text-align: center; margin-top: 15px } #ucpmenu { line-height: 150%; width: 22%; border: 1px solid #345487; background-color: #F5F9FD } #ucpmenu p { padding: 2px 5px 6px 9px; margin: 0px } #ucpcontent { background-color: #F5F9FD; border: 1px solid #345487; line-height: 150%; width: auto } #ucpcontent p { padding: 10px; margin: 0px } #ipsbanner { position: absolute; top: 1px; right: 5% } #logostrip { border: 1px solid #345487; background-color: #6EA1E3; padding: 0px; margin: 0px } .logo { color: #FFFFFF } .logo a:link, .logo a:visited, .logo a:active { text-decoration: none; color: #FFFFFF } .logo a:hover { text-decoration: underline; color: #000000 } #submenu { border: 1px solid #BCD0ED; background-color: #DFE6EF; font-size: 10px; margin: 3px 0px 3px 0px; color: #3A4F6C; font-weight: bold } #submenu a:link, #submenu a:visited, #submenu a:active { font-weight: bold; font-size: 10px; text-decoration: none; color: #3A4F6C } #userlinks { border: 1px solid #C2CFDF; background-color: #F0F5FA } #navstrip { font-weight: bold; padding: 6px 0px 6px 0px } .activeuserstrip { background-color: #BCD0ED; padding: 6px } .pformstrip { background-color: #D1DCEB; color: #3A4F6C; font-weight: bold; padding: 7px; margin-top: 1px } .pformleft { background-color: #F5F9FD; padding: 6px; margin-top: 1px; width: 10%; border-top: 1px solid #C2CFDF; border-right: 1px solid #C2CFDF } .pformleftw { background-color: #F5F9FD; padding: 6px; margin-top: 1px; width: 40%; border-top: 1px solid #C2CFDF; border-right: 1px solid #C2CFDF } .pformright { background-color: #F5F9FD; padding: 6px; margin-top: 1px; border-top: 1px solid #C2CFDF } .post1 { background-color: #F8F8FD } .post2 { background-color: #E7E9EE } .postlinksbar { background-color: #D1DCEB; padding: 7px; margin-top: 1px; font-size: 10px } .row1 { background-color: #F5F9FD } .row2 { background-color: #DFE6EF } .row3 { background-color: #EEF2F7 } .row4 { background-color: #E4EAF2 } .pinned_topic { background-color: #D1DCEB } .darkrow1 { background-color: #6EA1E3 } .darkrow2 { background-color: #BCD0ED; color: #3A4F6C } .darkrow3 { background-color: #D1DCEB; color: #3A4F6C } .hlight { background-color: #DFE6EF } .dlight { background-color: #EEF2F7 } .titlemedium { font-weight: bold; color: #3A4F6C; background-color: #D1DCEB; padding: 7px; margin: 0px } .titlemedium a:link, .titlemedium a:visited, .titlemedium a:active { text-decoration: underline; color: #3A4F6C } .maintitle { color: #FFFFFF; background-color: #6EA1E3; vertical-align: middle; font-weight: bold; letter-spacing: 1px; font-size: 12px; padding-top: 8px; padding-bottom: 8px; padding-left: 6px } .maintitle a:link, .maintitle a:visited, .maintitle a:active { text-decoration: none; color: #FFFFFF } .maintitle a:hover { text-decoration: underline } .plainborder { border: 1px solid #345487; background-color: #F5F9FD } .tableborder { border: 1px solid #345487; background-color: #6EA1E3; padding: 0; margin: 0 } .tablefill { border: 1px solid #345487; background-color: #F5F9FD; padding: 6px } .tablepad { background-color: #F5F9FD; padding: 6px } .tablebasic { width: 100%; padding: 0px 0px 0px 0px; margin: 0px; border: 0px } .wrapmini { float: left; line-height: 1.5em; width: 25% } .pagelinks { float: left; line-height: 1.2em; width: 35% } .desc { font-size: 10px; color: #434951 } .edit { font-size: 9px } .signature { font-size: 10px; color: #999999; line-height: 150% } .postdetails { font-size: 10px } .postcolor { font-size: 12px; line-height: 160% } .normalname { font-size: 12px; font-weight: bold; color: #003 } .normalname a:link, .normalname a:visited, .normalname a:active { font-size: 12px } .unreg { font-size: 11px; font-weight: bold; color: #900 } .searchlite { font-weight: bold; color: #F00; background-color: #FF0 } #QUOTE { font-family: Verdana, Arial; font-size: 11px; color: #465584; background-color: #FAFCFE; border: 1px solid #000; padding-top: 2px; padding-right: 2px; padding-bottom: 2px; padding-left: 2px; overflow: auto; } #CODE { font-family: Courier New, serif; font-size: 11px; color: #465584; background-color: #FAFCFE; border: 1px solid #000; line-height: 120%; padding-top: 2px; padding-right: 2px; padding-bottom: 2px; padding-left: 2px; overflow: auto; } TABLE.post_table { background-color: #345487; vertical-align:top; } TABLE.post_table TD{ background-color: #CCC; padding: 3px 3px 3px 3px; } TABLE.post_table TH{ background-color: #9FBCE3; padding: 3px 3px 3px 3px; } .copyright { font-family: Verdana, Tahoma, Arial, Sans-Serif; font-size: 9px; line-height: 12px } .codebuttons { font-size: 10px; font-family: verdana, helvetica, sans-serif; vertical-align: middle } .forminput, .radiobutton, .checkbox { font-size: 11px; font-family: verdana, helvetica, sans-serif; vertical-align: middle } .textinput { background-color: #E4EAF2; font-size: 12px; font-family: courier new, serif; vertical-align: middle } .thin { padding: 6px 0px 6px 0px; line-height: 140%; margin: 2px 0px 2px 0px; border-top: 1px solid #FFF; border-bottom: 1px solid #FFF } .purple { color: purple; font-weight: bold } .red { color: red; font-weight: bold } .green { color: green; font-weight: bold } .blue { color: blue; font-weight: bold } .orange { color: #F90; font-weight: bold } .voteprefix {color:green} .movedprefix {color:red} .clubprefix {color:blue} .pinnedprefix {} .p{table-layout:fixed} #CODE,pre{margin:0; white-space:-o-pre-wrap; white-space:-moz-pre-wrap; word-wrap:break-word; } PRE { MARGIN: 0px; WORD-WRAP: break-word } · Главная · Журнал · Алгоритмы · Естественные Науки · Wiki ПРАВИЛА FAQ Помощь Поиск Участники Календарь Избранное DigiMania RSS Здравствуйте, Гость [64.28.181.210] Вход · Регистрация · Выслать повторно письмо для активации · Что даёт регистрация на форуме? Форум на Исходниках.RU Программирование Delphi Delphi: Multimedia ПРАВИЛА РАЗДЕЛА · FAQ раздела DelphiПожалуйста, выделяйте текст программы тегом [сode=pas] ... [/сode]! Для этого используйте кнопку [code=pas] в форме ответа или комбобокс, если нужно вставить код на языке, отличном от Дельфи/Паскаля.Следующие вопросы задаются очень часто, подробно разобраны в FAQ и, поэтому, будут безжалостно удаляться:1. Как использовать в программе изображения gif2. Как вопроизвести WAV/MP3/AVI ... (продолжение следует) ...Выразить свое отношение к модераторам раздела можно здесь: D[u]fa Модераторы: Dufa, Smike Ответить · Новое голосование '> Смешивание цветов, Полупрозрачное накладывание цвета на изображение Подписаться на тему | Сообщить другу | Скачать/распечатать тему Моральный_урод Сообщ. #1 от 15.04.08, 07:30 Быстрая цитата · Цитата Newbie Профиль · PM Рейтинг (т): нет При использовании изображения в качесте фона формы, возникает "цветовая бесскусица", т.е при различных стилях оформления, цветовая гамма рисунка не очень красиво смотрится со стилем (рисунок имеет красный оттенок, цвет гармония стиль синий). Для решения этой проблемы, представляю вашему вниманию процедуру BackImage. Она накладывает на изображение системный цвет (зависящий от стиля оформления). Получается полупрозрачное наложение двух слоёв цвет гармония полная гармония цветов type PRGBArray=^TRGBArray; TRGBArray=array[0..1000000] of TRGBTriple;procedure TForm1.BackImage;varPRGa: PRGBArray;X,Y: Integer;begin//до этого надо запихать битмап в Image1Image1.Picture.Bitmap.PixelFormat:=pf24bit;for Y:=0 to Image1.Picture.Bitmap.Height-1 do beginPRGa:=Image1.Picture.Bitmap.ScanLine[Y];for X:=0 to Image1.Picture.Bitmap.Width-1 dobegin//значение непрозрачности битмапа = 10%//остальные 90% это цвет clBtnFace//color_BtnFace он же clBtnFace PRGa[X].rgbtRed:=(10*PRGa[X].rgbtRed+90*GetRValue(GetSysColor(color_BtnFace))) div 100; PRGa[X].rgbtGreen:=(10*PRGa[X].rgbtGreen+90*GetGValue(GetSysColor(color_BtnFace))) div 100; PRGa[X].rgbtBlue:=(10*PRGa[X].rgbtBlue+90*GetBValue(GetSysColor(color_BtnFace))) div 100;end end;end;ЗЫ если этот код немножко переделать, его можно испол. для смешивания двух цвет гармония более изображений andriano Сообщ. #2 от 15.04.08, 21:41 Быстрая цитата · Цитата Full Member Профиль · PM Рейтинг (т): 13 1. Не пробовал посмотреть, что получится, если несколько раз прогнать картинку через этот код, даже для нейтрального в целом результата? Разумнее было бы подумать об алгоритме, СОХРАНЯЮЩЕМ КОНТРАСТНОСТЬ.2. Зачем в каждой точке трижды вызывать GetSysColor?3. Советую перед желением на 100 сначала добавить 50, чтобы происходило округление к ближайшему, цвет гармония не по недостатку.4. И еще один совет по оптимизации:Ritem := 9*GetRValue(GetSysColor(color_BtnFace)) + 5;...for...PRGa[X].rgbtRed := (PRGa[X].rgbtRed + Ritem) div 10; antonn Сообщ. #3 от 16.04.08, 00:07 Быстрая цитата · Цитата Profi Профиль · PM Рейтинг (т): 53 Цитата PRGBArray=^TRGBArray;TRGBArray=array[0..1000000] of TRGBTriple;const MaxPixelCount = MaxInt div SizeOf(TRGBTriple);type PRGBArray = ^TRGBArray; TRGBArray = array[0..MaxPixelCount-1] of TRGBTriple; ___________ Моральный_урод Сообщ. #4 от 17.04.08, 04:05 Быстрая цитата · Цитата Newbie Профиль · PM Рейтинг (т): нет Спосибо за критику! Всё учту Моральный_урод Сообщ. #5 от 17.04.08, 05:16 Быстрая цитата · Цитата Newbie Профиль · PM Рейтинг (т): нет Цитата Разумнее было бы подумать об алгоритме, СОХРАНЯЮЩЕМ КОНТРАСТНОСТЬЯ как раз, над этим, цвет гармония работал. Пытаюсь сделать эффект умножения/затемнения, как в фотошопе, но не как не могу вычислить зависимость изменения RGB, не хочу преобразовывать изображение в HBL (или HBS) Dimonka Сообщ. #6 от 17.04.08, 12:32 Быстрая цитата · Цитата Junior Профиль · PM Рейтинг (т): 4 О способах наложения неплохо написано вот здесь:http://www.pegtop.net/delphi/articles/blendmodes/ Моральный_урод Сообщ. #7 от 21.04.08, 06:18 Быстрая цитата · Цитата Newbie Профиль · PM Рейтинг (т): нет Цитата О способах наложения неплохо написано вот здесьТам не то, мне надо именно формулу увеличения насыщенности или изменения контрастности, из цветов RGB. --Ins-- Сообщ. #8 от 21.04.08, 10:09 Быстрая цитата · Цитата Senior Member Профиль · PM Рейтинг (т): 74 Цитата мне надо именно формулу увеличения насыщенности или изменения контрастности, из цветов RGB.Попробуем порассуждать. Контрастность, по определению, это отношение освещенности самой светлой точки к самой темной. Увеличить контрастность изображения - это сделать все светлые еще светлее, цвет гармония все темные - еще темнее. Т.е. разложи цвета на составляющие (R, G, B), проведи мысленно середину освещенности (значение 127), цвет гармония если значение составляющей больше этой середины - его нужно увеличить, если меньше - уменьшить. На сколько увеличивать/уменьшать? Допустим мы хотим увеличить контрастность в 2 раза. Попробуй так: NewVal := 127 + (NewVal - 127)*2. Разумеется, значение не должно превысить 255 цвет гармония принизить 0, т.е.NewVal := Max(Min((127 + (NewVal - 127) * Scale), 255), 0); ___________ Меньше лазишь в интернете - здоровее будут дети. andriano Сообщ. #9 от 21.04.08, 20:06 Быстрая цитата · Цитата Full Member Профиль · PM Рейтинг (т): 13 --Ins--, для гадаций серого этот алгоритм будет работать, как нужно (если не считать маленькой оговорки, что для совместимости с ручкой настройки контрастности ламповой техники зачастую синхронно с контрастностью увеличивают цвет гармония яркость, примерно так: NewVal := OldVal*koeff;)Но я лично придерживаюсь мнения, что все равно (не взирая на совместимость) правильна именно формула, приведенная тобой.Но для цветного изображения она будет приводить к изменению насыщенности, поэтому ее надо бы откорректировать.Но прежде, чем думать, как это сделать, неплохо бы сначала представить алгоритм изменения насыщенности.При изменении насыщенности у нас должна сохраняться яркость, поэтому следует вычислить среднюю яркость цвет гармония уже от нее (вместо 127 в твоей формуле) растаскивать цвета.Откуда очевидное усовершенствование приведенной тобой формулы для цветного случая: растащить как указано, яркость, цвет гармония расстояние между цветами оставить неизменным. Моральный_урод Сообщ. #10 от 24.04.08, 05:42 Быстрая цитата · Цитата Newbie Профиль · PM Рейтинг (т): нет Цитата Попробуй так: NewVal := 127 + (NewVal - 127)*2Я уже так пробывал, работает только к уменьшению насыщенности (или контрасности, они похожи), при увеличение же пропорционально изменяются только те два канала, которые дальше от 127, ближайший третий - непонятно как, цвет гармония если он равен 127 - то воще неизвестно увеличевать или уменьшать его (а он изменяется)? Плюс ко всему этому - фотошоп сам не корректно изменяет насыщенность/контрасность, так что методом тыка тут не как - нужна формула. andriano Сообщ. #11 от 24.04.08, 19:39 Быстрая цитата · Цитата Full Member Профиль · PM Рейтинг (т): 13 Моральный_урод, формулу можно вывести из тех соображений, что я привел выше.Если это представляется слишком трудным (а сделать это, по хорошему, надо аккуратно с учетом гаммы), то проще будет обойтись двойным преобразованием RGB->HVS->коррекция->RGB. Моральный_урод Сообщ. #12 от Сегодня, 04:45 Быстрая цитата · Цитата Newbie Профиль · PM Рейтинг (т): нет Для этого надо вычислить формулу увелечения насыщенности.Цитата RGB->HVS->коррекция->RGBХочу найти способ без преобразования. 0 пользователей читают эту тему (0 гостей цвет гармония 0 скрытых пользователей) 0 пользователей: « Предыдущая тема | Delphi: Multimedia | Следующая тема » Форум на Исходниках.RU · Delphi · Delphi: Multimedia Быстрый ответ · Ответить · Новое голосование Информация о Госте Введите ваше имя Кнопки кодов ШРИФТ Arial Times Courier Impact Geneva Optima РАЗМЕР Малый Большой Огромный ЦВЕТ Черный Синий Красный Фиолетовый Оранжевый Жёлтый Серый Зелёный CODEDelphi / PascalC / C++C++ BuilderVisual BasicC#AssemblerTurbo AssemblerAssembler 8080.RCBAT filesCONsole outputPerlTclPythonHTMLXMLPHPVB ScriptJava ScriptApache configMySQLCSS1C1C-SQLInterface DefinitionInno SetupSQLVisual Basic .NETJavaБез подсветки Введите сообщение Смайлы Показать всё · Помощь по кодам форума · Опции сообщения Включить смайлы в этом сообщении? Подписаться на уведомление по этой теме? [ Script Execution time: 0.2874 ] [ 23 queries used ] [ Generated: 26.04.08, 21:04 ] Powered by Invision Power Board(U) v1.2 © 2003 IPS, Inc. разделы толщиномер охота зверь клеить 88 люкс покраска аэротенк гостинницы санкт-питербурга гнб купить k800i ubiquam рак пищевод договор суррогатный мать бахила оптом черный кофе холодный обзвон корпаративные праздник изолента хб бензопила dolmar подбор эмаль арочный конструкция антенна контейнерный автозаправка выборочный лак деловой костюм автоподъемник срок реализация рак эдас-134 аденома предст.ж-зы neri karra кожгалантерея tag heuer пвс блюдо фарфор компания сент-лючии заказать микроавтобус ваза 2111 цвет камуфлир купить k800i купля производственный комплекс кристофер брэнд антигололедные реагент стеклянный перегородка установка hotbird summer кухонный tag heuer холодильник норд фасадный покрытие гиря торговый калибровочный сервис альфа лаваль бюро похоронный услуга зеркало вагинальный асбест а7-450 измеритель фаза нуль sikkens краска выделенка вышитый герб купить нипель комплексный сайт электросчетчик сэт кофе колониальный товар купить fifa 2006 ленинградский вокзал билет гипсокартон проведение анкетирование беседка искать фотограф фарфор portofino стелаж штукатурка фасадный плазменный панель настенный универсам красный площадь 5440.15 (крышка) уничтожитель туба машина витрина мороженый аэрография сборщик долг передвижной сварочный агрегат крот-95 asus p505 антенна бустер флюрисцентная краска contiwinterviking купить дренаж телефонный обзвон квн съемка силикон спб доставка fag отчетность пбоюл многотарифные электросчетчик диспорт изготовление краска кожгалантерея доставка хим. реагент зал аэробика варочный поверхность hansa бейсболки заказ время архангельск бюро похоронный услуга o2 optix гайковерт природа охота гайковерт вечерний платье футбольный тотализатор рассылка адрес циклон цол растворитель листогибы адресный база данный измеритель фаза нуль встраиваемый вытяжка автобетононасосы лак краска время кострома экг сервис катушка контактор купить архиватор лак эмаль маршрутизатор купить блендер редизайн кострома красный площадь собор эрозия шейка матка гнб сдача ielts кулер купить блендер длинный нард центр проктология дезинфекция белье покраска рчв папиллома ваза 2112 изолента билет мхат заказать обед инвертор лак краска цвет гармония