Строковые константы в Pascal.

В качестве значения строковой константы может выступать любая последовательность символов. Эта последовательность заключается в апострофы. Строковая константа отличается от символьной константы тем, что здесь в качестве значения константы можно ...

Оператор выбора Case Of в Pascal.

Помимо условного оператора If в языке программирования Pascal существует оператор выбора Case of. Рассмотрим его применение на примере программы, которая выводит на экран то или иное сообщение, в зависимости от введенного числа.

GotoXY в Pascal.

Процедура GotoXY используется в Pascal для перевода курсора в нужную позицию на экране. Для этой процедуры указываются координаты. После указания процедуры GotoXY в коде программы сообщение будет выводиться на экран в тех координатах, которые мы ...

Циклы и массивы

Оператор варианта CASE.

Иногда его называют также оператором выбора. Это оператор CASE, который является обобщением оператора IF и позволяет сделать выбор из произвольного числа имеющихся вариантов.

Рекурсивные вычислительные процессы.

Функция может вызывать другую функцию, та в свою очередь третью и т.д. В результате программы приобретают иерархическую структуру.

Процедура FloodFill закрашивает замкнутую область. Данная процедура имеет 3 параметра. Первые 2 параметра определяют точку с координатами, откуда начинается закраска. 3-й параметр определяет границу закраски.

 Процедура FloodFill.




Program Graphika15;
Uses Graph;
Procedure Graphinterface;
Var  gd, gm, error:Integer;
s:String;
Begin
gd:=detect;
s:=' ';
Initgraph(gd,gm,s);
error:=GraphResult;
if error<>GrOk then
begin
writeln(GraphErrorMsg(Error));
Halt(error)
end
end;
begin
Graphinterface;
SetColor(4);
setfillstyle(3,3);
Circle(150,150, 100);
setcolor(2);
circle(150,150,50);
FloodFill(150,150, 2);
ReadLn;
CloseGraph;
End.



Строка №19. Устанавливаем красный цвет для окружности.

Строка №20. Устанавливаем тип и цвет закраски.

Строка №21. Рисуем окружность.

Строка №22. Устанавливаем зеленый цвет для 2-ой окружности.

Строка №23. Рисуем 2-ую окружность.

Строка №24. Процедура FloodFill закрашивает замкнутую область. Первые 2 параметра являются координатой и определяют, какая область будет закрашена. В нашем примере эти параметры имеют значения 150 пикселей,150 пикселей. Эта точка входит в обе окружности, которые мы нарисовали. Поэтому какая-то из этих окружностей будет закрашена. Какая именно – зависит от 3-го параметра процедуры. Он определяет цветовую границу закраски. В нашем примере этот параметр равен 2, т.е. имеет зеленую цветовую границу. Поэтому будет закрашена зеленая окружность (та, что в строке №23).
Тип и цвет закраски установлен в строке №20.

Grafika v pascal, floodfill

Grafika v pascal, floodfill.


Теперь поменяем строку №24, установив в качестве цветовой границы красный цвет (строка №24 будет иметь вид FloodFill (150,150, 4)). После этих изменений границей закраски будет красная окружность.
После запуска программы получится:

Grafika v pascal, floodfill..


Если первые 2 параметра будут иметь другие координаты, которые выходят за пределы окружностей, то закрашена будет вся область, которая лежит за пределами окружностей.
Изменим строку №24 на такую: FloodFill(300,300, 4). В результате, будет закрашена область, лежащая за пределами обоих окружностей. Причем границей закраски будет красная окружность.

Grafika v pascal, floodfill...


Теперь изменим строку №24 на такую FloodFill(300,300, 2). В результате будет закрашена область, лежащая за пределами зеленой окружности.

Grafika v pascal, floodfill....


Если в качестве 3-го параметра указать несуществующую цветовую границу, то будет зарисован весь экран. Например, запишем строку №24 в таком виде FloodFill (300,300, 1). Здесь в качестве цветовой границы указан синий цвет, но в нашей программе нет замкнутых областей, имеющих синюю границу, поэтому будет зарисован весь экран.

Grafika v pascal, floodfill.....


Предыдущая статья : Процедуры Ellipse и FillEllipse.

Оглавление : Уроки Паскаль. Графика.

Следующая статья : Процедуры PieSlice и Sector.


Комментарии  

 
0 # Анастасия 27.03.2014 16:12
Спасибо! Очень помогли! :-)
Ответить
 
 
0 # Kimberley 08.07.2025 18:51
Wow, amazing blog layout! Howw long have you been blogging for?
you make bloggiing look easy. The ovsrall look of your site
iis wonderful, ass well as the content!

Stop by my web-site - ហ្គេមកាស៊ីណូ: https://jili-kh.com/
Ответить
 

Добавить комментарий

   ГлавнаяПаскальГрафика в ПаскальПроцедура Str.