Как нарисовать прямоугольник в паскале программа

Графические примитивы представляют собой процедуры, осуществляющие рисование в графическом окне. Рисование осуществляется текущим пером (линии), текущей кистью (заливка замкнутых областей) и текущим шрифтом (вывод строк).

procedure SetPixel(x,y: integer; c: Color);
Закрашивает пиксел с координатами (x,y) цветом c
procedure PutPixel(x,y: integer; c: Color);
Закрашивает пиксел с координатами (x,y) цветом c
function GetPixel(x,y: integer): Color;
Возвращает цвет пиксела с координатами (x,y)
procedure MoveTo(x,y: integer);
Устанавливает текущую позицию рисования в точку (x,y)
procedure LineTo(x,y: integer);
Рисует отрезок от текущей позиции до точки (x,y). Текущая позиция переносится в точку (x,y)
procedure LineTo(x,y: integer; c: Color);
Рисует отрезок от текущей позиции до точки (x,y) цветом c. Текущая позиция переносится в точку (x,y)
procedure Line(x1,y1,x2,y2: integer);
Рисует отрезок от точки (x1,y1) до точки (x2,y2)
procedure Line(x1,y1,x2,y2: integer; c: Color);
Рисует отрезок от точки (x1,y1) до точки (x2,y2) цветом c
procedure FillCircle(x,y,r: integer);
Заполняет внутренность окружности с центром (x,y) и радиусом r
procedure DrawCircle(x,y,r: integer);
Рисует окружность с центром (x,y) и радиусом r
procedure FillEllipse(x1,y1,x2,y2: integer);
Заполняет внутренность эллипса, ограниченного прямоугольником, заданным координатами противоположных вершин (x1,y1) и (x2,y2)
procedure DrawEllipse(x1,y1,x2,y2: integer);
Рисует границу эллипса, ограниченного прямоугольником, заданным координатами противоположных вершин (x1,y1) и (x2,y2)
procedure FillRectangle(x1,y1,x2,y2: integer);
Заполняет внутренность прямоугольника, заданного координатами противоположных вершин (x1,y1) и (x2,y2)
procedure FillRect(x1,y1,x2,y2: integer);
Заполняет внутренность прямоугольника, заданного координатами противоположных вершин (x1,y1) и (x2,y2)
procedure DrawRectangle(x1,y1,x2,y2: integer);
Рисует границу прямоугольника, заданного координатами противоположных вершин (x1,y1) и (x2,y2)
procedure FillRoundRect(x1,y1,x2,y2,w,h: integer);
Заполняет внутренность прямоугольника со скругленными краями; (x1,y1) и (x2,y2) задают пару противоположных вершин, а w и h – ширину и высоту эллипса, используемого для скругления краев
procedure DrawRoundRect(x1,y1,x2,y2,w,h: integer);
Рисует границу прямоугольника со скругленными краями; (x1,y1) и (x2,y2) задают пару противоположных вершин, а w и h – ширину и высоту эллипса, используемого для скругления краев
procedure Circle(x,y,r: integer);
Рисует заполненную окружность с центром (x,y) и радиусом r
procedure Ellipse(x1,y1,x2,y2: integer);
Рисует заполненный эллипс, ограниченный прямоугольником, заданным координатами противоположных вершин (x1,y1) и (x2,y2)
procedure Rectangle(x1,y1,x2,y2: integer);
Рисует заполненный прямоугольник, заданный координатами противоположных вершин (x1,y1) и (x2,y2)
procedure RoundRect(x1,y1,x2,y2,w,h: integer);
Рисует заполненный прямоугольник со скругленными краями; (x1,y1) и (x2,y2) задают пару противоположных вершин, а w и h – ширину и высоту эллипса, используемого для скругления краев
procedure Arc(x,y,r,a1,a2: integer);
Рисует дугу окружности с центром в точке (x,y) и радиусом r, заключенной между двумя лучами, образующими углы a1 и a2 с осью OX (a1 и a2 – вещественные, задаются в градусах и отсчитываются против часовой стрелки)
procedure FillPie(x,y,r,a1,a2: integer);
Заполняет внутренность сектора окружности, ограниченного дугой с центром в точке (x,y) и радиусом r, заключенной между двумя лучами, образующими углы a1 и a2 с осью OX (a1 и a2 – вещественные, задаются в градусах и отсчитываются против часовой стрелки)
procedure DrawPie(x,y,r,a1,a2: integer);
Рисует сектор окружности, ограниченный дугой с центром в точке (x,y) и радиусом r, заключенной между двумя лучами, образующими углы a1 и a2 с осью OX (a1 и a2 – вещественные, задаются в градусах и отсчитываются против часовой стрелки)
procedure Pie(x,y,r,a1,a2: integer);
Рисует заполненный сектор окружности, ограниченный дугой с центром в точке (x,y) и радиусом r, заключенной между двумя лучами, образующими углы a1 и a2 с осью OX (a1 и a2 – вещественные, задаются в градусах и отсчитываются против часовой стрелки)
procedure DrawPolygon(points: array of Point);
Рисует замкнутую ломаную по точкам, координаты которых заданы в массиве points
procedure FillPolygon(points: array of Point);
Заполняет многоугольник, координаты вершин которого заданы в массиве points
procedure Polygon(points: array of Point);
Рисует заполненный многоугольник, координаты вершин которого заданы в массиве points
procedure Polyline(points: array of Point);
Рисует ломаную по точкам, координаты которых заданы в массиве points
procedure Curve(points: array of Point);
Рисует кривую по точкам, координаты которых заданы в массиве points
procedure DrawClosedCurve(points: array of Point);
Рисует замкнутую кривую по точкам, координаты которых заданы в массиве points
procedure FillClosedCurve(points: array of Point);
Заполняет замкнутую кривую по точкам, координаты которых заданы в массиве points
procedure ClosedCurve(points: array of Point);
Рисует заполненную замкнутую кривую по точкам, координаты которых заданы в массиве points
procedure TextOut(x,y: integer; s: string);
Выводит строку s в прямоугольник к координатами левого верхнего угла (x,y)
procedure TextOut(x,y: integer; n: integer);
Выводит целое n в прямоугольник к координатами левого верхнего угла (x,y)
procedure TextOut(x,y: integer; r: real);
Выводит вещественное r в прямоугольник к координатами левого верхнего угла (x,y)
procedure DrawTextCentered(x,y,x1,y1: integer; s: string);
Выводит строку s, отцентрированную в прямоугольнике с координатами (x,y,x1,y1)
procedure DrawTextCentered(x,y,x1,y1: integer; n: integer);
Выводит целое значение n, отцентрированное в прямоугольнике с координатами (x,y,x1,y1)
procedure DrawTextCentered(x,y,x1,y1: integer; r: real);
Выводит вещественное значение r, отцентрированное в прямоугольнике с координатами (x,y,x1,y1)
procedure FloodFill(x,y: integer; c: Color);
Заливает область одного цвета цветом c, начиная с точки (x,y).
Читайте также:
Кто проходит обучение по программе специальной подготовки ФССП

как нарисовать прямоугольник делфи программироване графика уроки

Рисование в Pascal ABC (размеры окна, основные фигуры, заливка, текст, толщина и цвет линий)

Источник: pascalabc.net

Процедуры Rectangle и Bar.

Процедуры Rectangle и Bar используются в Паскаль для рисования прямоугольников. Их отличие друг от друга заключается в том, что процедура Rectangle рисует простой прямоугольник, а процедуры Bar рисует закрашенный прямоугольник.

Нарисуем прямоугольник с помощью обоих процедур.

Процедуры Rectangle и Bar.

Program Graphika10; Uses crt, Graph; var i:integer; 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; SetLineStyle (3,0,3); Rectangle (100, 100,400,500); for i:=0 to 11 do begin SetFillStyle (i,3); bar (500, 100,900,500); delay(1000); end; readln; closegraph end.

Строка №3. В этой программе будет использоваться цикл, поэтому необходимо указать переменную для счетчика цикла.

Строка №4 — №17. Записываем процедуру для включения графического режима.

Строка №19. Включаем графический режим.

Строка №20. Записываем процедура SetLineStyle.

Строка №21. Процедура Rectangle рисует прямоугольник, координаты которого записываются в круглых скобках. Первые 2 значения определяют верхний левый угол прямоугольника (в нашем примере 100,100). Последние 2 значения определяют правый нижний угол (в нашем примере 400,500). Таким образом, у нас выведется прямоугольник, у которого стороны будут состоять из жирных пунктирных линий (благодаря процедуре SetLineStyle).

Строка №22. Записываем цикл.

Строка №24. Процедура SetFillStyle устанавливает тип закраски и ее цвет. Тип закраски и цвет записывается в круглых скобках (в нашем примере переменная «i» определяет тип закраски, а цвет закраски имеет значение 3 – зеленый).
Для процедуры SetFillStyle определены 13 различных типов закраски. Типы закраски и соответствующие им коды приведены в таблице.

Читайте также:
Программа чтобы не звонили банки

Grafika v Pascal, Procedurih Rectangle i Bar

Благодаря тому, что процедура SetFillStyle находится в цикле, переменная «i» поменяет свое значение 12 раз (от 0 до 11).

В строке №25 записываем процедуру Bar. Эта процедура выводит на экран прямоугольник, координаты которого даны в скобках. В нашем примере прямоугольник, полученный с помощью процедуры Bar, будет иметь координаты: 500,100 – верхний левый угол и 900,500 – правый нижний угол.

Строка №26. Процедура Delay задерживает выполнение программы на определенное время. В круглых скобках после записи процедуры Delay записывается время задержки. В нашем примере Delay (1000) означает задержку на одну секунду.

Строки №24, №25 и №26 находятся в цикле, поэтому на экран будет выведено 12 различных типов прямоугольников. У этих прямоугольников не будут меняться координаты, а лишь меняться заполнение прямоугольника с периодичностью один раз в секунду.

Источник: mojainformatika.ru

Глава 6. Графика в системе Турбо Паскаль Построение многоугольников Построение прямоугольников

Для построения прямоугольных фигур имеется несколько процедур. Первая из них – вычерчивание одномерного прямоугольника: Rectangle (x1, y1 , x2, y2:integer ), где x1, y1 – координаты левого верхнего угла, x2, y2- координаты правого нижнего угла прямоугольника. Область внутри прямоугольника не закрашена и совпадает по цвету с фоном.

Более эффектные для восприятия прямоугольники можно строить с помощью процедуры Bar (x1, y1 , x2, y2:integer), которая рисует закрашенный прямоугольник. Цвет закраски устанавливается с помощью SetFillStyle. Еще одна эффектная процедура: Bar3D (x1, y1 , x2,y2, d: integer, a:boolean) вычерчивает трехмерный закрашенный прямоугольник (параллелепипед).

При этом используются тип и цвет закраски, установленные с помощью SetFillStyle. Параметр d представляет собой число пикселей, задающих глубину трехмерного контура. Чаще всего его значение равно четверти ширины прямоугольника ( d:= (x2 — x1) div 4 ). Параметр a определяет, строить над прямоугольником вершину (а:=True) или нет (a:=False).

Читайте также:
Какой программой стабилизировать видео

Rectangle (200, 100, 250,300);

Построение многоугольников

Многоугольники можно рисовать самыми различными способами, например с помощью процедуры Line. Однако в Турбо Паскале имеется процедура DrawPoly, которая позволяет строить любые многоугольники линией текущего цвета, стиля и толщины. Она имеет формат DrawPoly( a: word, var PolyPoints)

Параметр PolyPoints является нетипизированным параметром, который содержит координаты каждого пересечения в многоугольнике. Параметр а задает число координат в PolyPoints. Необходимо помнить, что для вычерчивания замкнутой фигуры с N вершинами нужно передать при обращении к процедуре DrawPoly N+1 координату, где координата вершины с номером N будет равна координате вершины с номером 1.

Проиллюстрируем на примере:

var gd, gm: integer;

pp: array[1..4] of PointType;

xm, ym, xmaxD4, ymaxD4:word;

Initgraph(gd, gm, ‘ c/bp’);

Источник: studfile.net

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru