![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Смешивание цвета
snake1977 © (2004-11-07 22:08:00)Здравствуйте! Есть цвет красный (255) и серый (12632256), как получить смесь этих цветов??
GuAV (2004-11-07 22:23:00) [1]default © (07.11.04 22:19) [4]
Ну так если 50 на 50 то [2] или [3]
default (2004-11-07 22:19:00) [2]KilkennyCat © (07.11.04 22:11) [1]
и тщательно перемешать!
помню кто-то говорил что цвета смешиваются так(может ошибаюсь...)
представить кубик 255*255*255
берёшь точку соответ-ую красному цвету и серому
записываешь уравнение прямой по этим точкам в простра-ве потом беря нужную точку на этой прямой получаешь смесь в нужном соотношении
Defunct (2004-11-07 22:15:00) [3]> snake1977 (07.11.04 22:08)
Function MixColors(C1, C2: Integer): Integer;assembler;
Asm
movd mm7, EAx
and Ecx, $ff
pxor mm5, mm5
movd mm6, EDx
punpcklbw mm7, mm5
punpcklbw mm6, mm5
paddw mm6, mm7
psraw mm6, 1
packuswb mm6, mm6
movd Eax, mm6
emms
end;
(C) def
уже выкладывал где-то полтора месяца назад.
GuAV (2004-11-07 22:14:00) [4]KilkennyCat © (07.11.04 22:11) [1]
... и поделить на 2.
function GetMixedColorThursday(C1, C2: TColor): TColor;
begin
Result:=C1 shr 1 and $7F7F7F + C2 shr 1 and $7F7F7F +
C1 and C2 and $010101;
end;
не удивляться если синий+желтый = серый.
KilkennyCat (2004-11-07 22:11:00) [5]прибавить к красной части серого 255