Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Есть цвет RGB надо узнать какой цвет ему [D6, Win2k]


SDS ©   (2002-12-20 17:46:00) 

сооиыетствует в градациях серого


SDS   (2002-12-21 11:11:00) [1]

thanx


AlexT1000   (2002-12-21 10:35:00) [2]

> MBo
сильно сказано. уважаю.


MBo   (2002-12-21 07:33:00) [3]

>неужели в API ничего похожего нет?

Сделай ;)

library GrayAPI;

uses
Graphics;

//в асме не спец, наверно, можно оптимизировать
Function ColorToGray(Color:TColor):byte;
asm
push eax
push eax
mov edx, $001C974D
and eax, 0ffh
mul dl
mov ecx, eax
pop eax
and eax, 0ff00h
shr eax, 8
shr edx, 8
mul dl
add eax, ecx
mov ecx, eax
pop eax
and eax, 0ff0000h
shr eax, 16
shr edx, 8
mul dl
add eax, ecx
mov ecx, 128
add eax, ecx
shr eax, 8
end;

exports ColorToGray;

end.

------------------------------------------------

function ColorToGray (Color:TColor):byte; external "GrayAPI.DLL";

procedure TForm1.Button1Click(Sender: TObject);
begin
Caption:=IntToStr(ColorToGray(clLime));
end;


SDS   (2002-12-20 18:19:00) [4]

идея хорошая, но неужели в API ничего похожего нет?


MBo   (2002-12-20 18:01:00) [5]

(59g+30r+11b)/100


Наверх

Титульная страница Поиск, карта сайта Написать письмо