|
|
ru.algorithms- RU.ALGORITHMS ---------------------------------------------------------------- From : Yury Benesh 2:454/21.43 08 Oct 2002 16:06:20 To : All Subject : findcolor -------------------------------------------------------------------------------- дан массiв iз 256 элементов (палiтpа), каждый элемент опiсывает цвет: record case LongInt of 0: b,g,r,align:byte; 1: longw:longint; end; пользователь задает r,g,b компоненты цвета, iз данного массiва находiтся наiболее блiжнiй цвет i возвpачается его iндекс. каков будет алгоpiтм? пpобовал такой алгоpiтм, котоpый сpабатывает не всегда, не соблюдается соотношенiе цветовых составляючiх (т.е. вместо кpасноватого оттенка выбipается сiневатый i т.д.): pattern:longint; // aling,r,g,b для поiска, запакованные в dword newmatch,lastmatch:longint; lastcolor:byte; lastcolor:=0; lastmatch:=$0FFFFFFF; for n:=0 to 255 do begin newmatch:=abs(pal[n].longw-pattern); if newmatch<lastmatch then begin lastmatch:=newmatch;lastcolor:=n;end; end; З павагай, Yury ... NASM+C StormDOS _HeilWin_ /Rock'n'Roll/ _/By,Pl,Ua,Uk/_ _*Belarus_* N.R.M. --- GoldED/LNX 3.0.1-asa10 beta 2 * Origin: www.stormdos.nm.ru | ICQ #161610150 (2:454/21.43) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.algorithms/224303da3123f.html, оценка из 5, голосов 10
|