|
|
|
как вычислить цвет?
|
|||
|---|---|---|---|
|
#18+
есть например два цвета clBtnFace (у меня серый стандартный) и clSkyBlue НЕобходимо сделать какбы наложение цветов,т.е. если я их какбы складываю, то синий должен получиться более темным. (вдруг это как-то не то) ИЛИ другой вариант. как затемнить любой цвет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2011, 17:34 |
|
||
|
как вычислить цвет?
|
|||
|---|---|---|---|
|
#18+
PG81, 1. Складываешь покомпонентно R,G,B по формуле B1*A+B2*(1-A), A - прозрачность. 2. Для затемнения (осветления) используется следующий алгоритм: перевод RGB->HSV, изменение V, перевод обратно. Смотри модуль GraphUtils, там есть нужные функции. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2011, 17:54 |
|
||
|
как вычислить цвет?
|
|||
|---|---|---|---|
|
#18+
PG81, Навскидку: 1) Если действительно нужны алгоритмы (например, для реализации фильтров), то нужно начать с их изучения. Может быть это чем-то поможет 2) Взять какой-нибудь графический редактор photoshop, смешать нужные цвета по нужному алгоритму, запомнить получившиеся значения в какой-нибудь таблице, дальше работать с этой таблицей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2011, 17:57 |
|
||
|
как вычислить цвет?
|
|||
|---|---|---|---|
|
#18+
благодарю, вот нашел Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2011, 18:06 |
|
||
|
как вычислить цвет?
|
|||
|---|---|---|---|
|
#18+
Советую только четко понимать, что нужно передавать в качестве TColor Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2011, 09:37 |
|
||
|
как вычислить цвет?
|
|||
|---|---|---|---|
|
#18+
Вставлял из рабочего проекта, потому SM это ShowMessage (думаю и так понятно) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2011, 09:38 |
|
||
|
как вычислить цвет?
|
|||
|---|---|---|---|
|
#18+
ambarka_max, Префикс "А" используется в именах параметров методов, но не переменных. Использование переменной Result в процедуре также может ввести внешнего читателя в заблуждение. Почему бы для повторяющегося участка кода не использовать процедуру? Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. , тогда получим Код: plaintext 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2011, 10:01 |
|
||
|
как вычислить цвет?
|
|||
|---|---|---|---|
|
#18+
Gust2002, вы абсолютно правы. Я все это понимаю, кусок кода писал для примера, нарушая правила, чтобы донести мысль. Кстати я не очень люблю локальные переменные без префиксов (если наименование больше 2-х символов) , так как они могут перекрывать внешние проперти/глобальные переменные/функции, вобщем это личное предпочтение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2011, 13:26 |
|
||
|
как вычислить цвет?
|
|||
|---|---|---|---|
|
#18+
В Raize Components есть готовые функции. RzCommon.LighterColor RzCommon.DarkerColor RzCommon.BlendColors ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2011, 14:51 |
|
||
|
как вычислить цвет?
|
|||
|---|---|---|---|
|
#18+
Они и в VCL есть. Просто некоторые предпочитают говнокоды из инета скачивать, вместо того чтобы документацию читать. это из модуля GraphUtil Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2011, 14:56 |
|
||
|
как вычислить цвет?
|
|||
|---|---|---|---|
|
#18+
ambarka_max, Кстати я не очень люблю локальные переменные без префиксов (если наименование больше 2-х символов) Имхо если вводите свой стандарт, то будет лучше, если он не будет пересекаться с существующими. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2011, 15:26 |
|
||
|
как вычислить цвет?
|
|||
|---|---|---|---|
|
#18+
Соколинский Борис Для затемнения (осветления) используется следующий алгоритм: перевод RGB->HSV, изменение V, перевод обратно. Смотри модуль GraphUtils, там есть нужные функции. Таких советов я за прошедшие годы раздавал множество, и сам ему следовал до той поры, пока мне не потребовалось, чтобы это работало быстро. Когда посмотрел реализацию в VCL - понял, что идея анекдота "свести задачу к предыдущей" до сих пор имела неправильное воплощение. Собственно, что мы хотим получить на выходе? Колинеарный цветовой вектор другой длины. А раз так, то HSV тут вообще не нужен, по крайней мере в части сложных вычислений H и S. Все намного проще, примерно так Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2019, 11:04 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=37267063&tid=2039124]: |
0ms |
get settings: |
11ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
173ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
37ms |
get tp. blocked users: |
1ms |
| others: | 236ms |
| total: | 490ms |

| 0 / 0 |
