Выполнение участка программы в зависимости от цвета конкретного пикселя - PascalABC.NET

Узнай цену своей работы

Формулировка задачи:

Нужно, чтобы прога реагировала на цвет. Написал следующее, но не работает (игнорирует)
Вместо clgreen написал System.Drawing.Color[a = 255, r = 0, g = 128, b = 0], но тогда пишет: Program1.pas(9) : Нет индексного свойства по умолчанию для типа System.Drawing.Color. В чем ошибка? Заранее спасибо.

Решение задачи: «Выполнение участка программы в зависимости от цвета конкретного пикселя»

textual
Листинг программы
program pr;
uses
  graphabc;
var c:Color;  
    r,g,b:integer;
begin
  drawrectangle(200, 200, 400, 400);
  floodfill(250,250,clGreen);
  c:=GetPixel(250,250);
  r:=GetRed(c);
  g:=GetGreen(c);
  b:=GetBlue(c);
  writeln(inttostr(r),',',inttostr(g),',',inttostr(b));
  if (r=0)and(g=128)and(b=0) then writeln('зеленый')
  else writeln('не зеленый');
end.

Объяснение кода листинга программы

  1. Объявлены переменные:
    • c типа Color;
    • r, g, b типа integer.
  2. Выполнен участок кода:
    • Вызов функции drawrectangle(200, 200, 400, 400); для рисования прямоугольника размером 400x400 пикселей, с верхним левым углом в точке (200,200).
    • Вызов функции floodfill(250,250,clGreen); для заливки прямоугольника зелёным цветом, начиная с пикселя (250,250).
  3. Получен цвет пикселя (250,250) и сохранен в переменной c.
  4. Получены значения красной, зелёной и синей составляющих цвета пикселя (250,250) и сохранены в переменных r, g, b соответственно.
  5. Выведено на экран значение переменных r, g, b в формате строки.
  6. Проверено условие (r=0)and(g=128)and(b=0) и в случае его истинности выведено на экран слово зеленый, иначе выведено слово не зеленый. Список выполненных действий:
  7. Рисование прямоугольника.
  8. Заливка прямоугольника зелёным цветом.
  9. Получение цвета пикселя.
  10. Получение значений красной, зелёной и синей составляющих цвета пикселя.
  11. Вывод значений красной, зелёной и синей составляющих цвета пикселя.
  12. Проверка условия и вывод соответствующего сообщения.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 4.143 из 5
Похожие ответы