Показать сообщение отдельно
  #4  
Старый 02.10.2015, 21:05
Аватар для Bargest
Bargest Bargest вне форума
Профессионал
 
Регистрация: 19.10.2010
Адрес: Москва
Сообщения: 2,390
Версия Delphi: XE3/VS12/FASM
Репутация: 14665
По умолчанию

Ну простейший вариант (если не использовать структуры) - 3 массива
Код:
var x, y: array of integer;
colors: array of Longint;
Заполнять соответственно координатами и цветами. x[0], y[0] - координаты первой точки, colors[0] - цвет первой точки. Ну и потом взять картинку и как-то так.
Код:
for i := 0 to pointsCount-1 do begin
  c := ColorToRGB(bmp.Canvas.Pixels[x[i], y[i]]);
  if abs(GetRValue(c) - GetRValue(colors[i]))< delta and
     abs(GetGValue(c) - GetGValue(colors[i]))< delta and
     abs(GetBValue(c) - GetBValue(colors[i]))< delta then
      EmulateKey(h1, Ord('D'));
end;
Где delta - максимальная мера отличия по каждому цвету.
__________________
jmp $ ; Happy End!
The Cake Is A Lie.
Ответить с цитированием