Выполнение участка программы в зависимости от цвета конкретного пикселя - 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.
Объяснение кода листинга программы
- Объявлены переменные:
- c типа Color;
- r, g, b типа integer.
- Выполнен участок кода:
- Вызов функции drawrectangle(200, 200, 400, 400); для рисования прямоугольника размером 400x400 пикселей, с верхним левым углом в точке (200,200).
- Вызов функции floodfill(250,250,clGreen); для заливки прямоугольника зелёным цветом, начиная с пикселя (250,250).
- Получен цвет пикселя (250,250) и сохранен в переменной c.
- Получены значения красной, зелёной и синей составляющих цвета пикселя (250,250) и сохранены в переменных r, g, b соответственно.
- Выведено на экран значение переменных r, g, b в формате строки.
- Проверено условие (r=0)and(g=128)and(b=0) и в случае его истинности выведено на экран слово
зеленый
, иначе выведено словоне зеленый
. Список выполненных действий: - Рисование прямоугольника.
- Заливка прямоугольника зелёным цветом.
- Получение цвета пикселя.
- Получение значений красной, зелёной и синей составляющих цвета пикселя.
- Вывод значений красной, зелёной и синей составляющих цвета пикселя.
- Проверка условия и вывод соответствующего сообщения.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д