Показать сообщение отдельно
  #3  
Старый 14.10.2009, 10:37
alexnov alexnov вне форума
Прохожий
 
Регистрация: 16.04.2009
Сообщения: 33
Репутация: 10
По умолчанию

В общем решил я пока группировать цвета по принципу, если каждая составляющая цвета отличается от каждой составляющей другого цвета не больше чем на 40 единиц. Сделал такой цикл:

Код:
for i:=0 to HIGh(Pixel) do
   if (Pixel[i].count>0) and (i+1<HIGh(Pixel)) then
      if (abs(Pixel[i].R-Pixel[i+1].R)<40) and (abs(Pixel[i].G-Pixel[i+1].G)<40) and (abs(Pixel[i].B-Pixel[i+1].B)<40) then
     begin
     Pixel[i].count:=Pixel[i].count+Pixel[i+1].count;
     Pixel[i+1].count:=0;           //если count эл-та=0 я в дальнейшем не учитываю этот элемент, а вывожу на экран только те, у которых count>0
     end;

Теперь у меня вопрос по коду: как сделать так чтобы цикл выполнялся до тех пор пока в массиве не останется похожих цветов? Сейчас он выполняется только 1 раз.
Ответить с цитированием