|
65 / 50 / 7
Регистрация: 09.11.2012
Сообщений: 219
|
|
Как сложить два полупрозрачных цвета?07.12.2013, 11:51. Показов 4855. Ответов 7
Метки нет (Все метки)
Что-то не могу разобраться, везде разные формулы и ни по одной не сходится. Если исходный цвет непрозрачный, то тогда всё просто (сверяюсь по Photoshop, режим смешивания Normal):
П = И + (Н - И) × аН, где П - полученный цвет, И - исходный, Н - накладываемый, аН - прозрачность накладываемого цвета (0 ÷ 1). Но если исходный цвет полупрозрачный, то непонятно, куда применять значение прозрачности в формуле. Если Н = #0000ff, а И = #00ff00 с прозрачностью 50%, то результаты при различных прозрачностях И будут такие: 0%: #0000ff 10%: #0018ef 20%: #002ad5 30%: #003ac5 40%: #0049b6 50%: #0055aa 60%: #005fa0 70%: #006996 80%: #00718e 90%: #007986 100%: #007f80
0
|
|
| 07.12.2013, 11:51 | |
|
Ответы с готовыми решениями:
7
Как сложить два плюс два? если оба числа символьные? Как сложить цвета в VB? |
|
65 / 50 / 7
Регистрация: 09.11.2012
Сообщений: 219
|
|
| 07.12.2013, 12:02 [ТС] | |
|
OldFedor, нет, в ответе получается нелинейная зависимость.
0
|
|
| 07.12.2013, 13:06 | |
|
Хороший пример: краски. В одном ведре литр красной 50% (концентрация), в другом литр напр темно-фиолетовой 20%.
c1 = (a = 0.5, r = 1, g = 0, b = 0) c2 = (a = 0.2, r = 0.5, g = 0, b = 0.5) Всего краски в 2 литрах 0.5 + 0.2 = 0.7, значит концентрация в одном литре 0.35. Альфу получили. Теперь по цветам: красной было 0.5 * 1 + 0.2 * 0.5 = 0.6 в двух литрах, значит в одном 0.3. И теперь делим на альфу 0.3 / 0.35 = 0.857. Синей: 0.2 * 0.5 / 2 / 0.35 = 0.142. Итого c1 = (a = 0.35, r = 857, g = 0, b = 0.142) Ну и конечно это "смешивание" где компоненты равноправны, есть и др режимы
0
|
|
|
240 / 218 / 46
Регистрация: 17.04.2010
Сообщений: 526
|
|
| 07.12.2013, 15:43 | |
|
1
|
|
| 08.12.2013, 10:48 | ||
Только там речь идет не о "сложении", а о "композиции". Это соответствует тому что сначала рисуем одним цветом, а поверх него - другим, т.е. такая операция не коммутативна.
2
|
||
|
65 / 50 / 7
Регистрация: 09.11.2012
Сообщений: 219
|
|
| 08.12.2013, 22:23 [ТС] | |
|
Igor3D, однако, по ссылке правильно, помогло. В случае с 0.5 и 0.2 будет не 0.7, а 0.5 + (1 - 0.5) × 0.2 = 0.6, другая формула.
Добавлено через 1 час 8 минут Кстати, я ошибся в условии, накладываемый с прозрачностью 50%, а не исходный.
0
|
|
| 08.12.2013, 22:34 | ||
Напомню что в случае перестановки слагаемых альфа та же самая 0.2 + (1 - 0.2) * 0.5 = 0.6, но вот RGB уже другие. Это нормально, но так Вы непрерывно "накапливаете", а вот напр интерполировать так не получится. Также если первое слагаемое черный цвет с хорошей альфой, то сколько ни складывай - черным останется, здесь нужна еще др модель. В общем все зависит от того какое "сложение" Вам нужно.
0
|
||
| 08.12.2013, 22:34 | |
|
Помогаю со студенческими работами здесь
8
Два одномерных массива поэлементно сложить между собой - третий - сложить каждый элементы - вывести на экран Как сложить два значения? Как сложить два массива
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
|
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут.
В век Веб все очень привыкли к дизайну Single-Page-Application .
Быстренько разберем подход "на фреймах".
Мы делаем одну. . .
|