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

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

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

Нужно, чтобы прога реагировала на цвет. Написал следующее, но не работает (игнорирует)
Листинг программы
  1. program pr;
  2. uses
  3. graphabc;
  4. begin
  5. drawrectangle(200, 200, 400, 400);
  6. floodfill(250, 250, clgreen);
  7. if getpixel(250, 250) = clgreen then writeln('зеленый');
  8. end.
Вместо clgreen написал System.Drawing.Color[a = 255, r = 0, g = 128, b = 0], но тогда пишет: Program1.pas(9) : Нет индексного свойства по умолчанию для типа System.Drawing.Color. В чем ошибка? Заранее спасибо.

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

textual
Листинг программы
  1. program pr;
  2. uses
  3.   graphabc;
  4. var c:Color;  
  5.     r,g,b:integer;
  6. begin
  7.   drawrectangle(200, 200, 400, 400);
  8.   floodfill(250,250,clGreen);
  9.   c:=GetPixel(250,250);
  10.   r:=GetRed(c);
  11.   g:=GetGreen(c);
  12.   b:=GetBlue(c);
  13.   writeln(inttostr(r),',',inttostr(g),',',inttostr(b));
  14.   if (r=0)and(g=128)and(b=0) then writeln('зеленый')
  15.   else writeln('не зеленый');
  16. 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

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы