Другие языки программирования и технологии
Помогите нарисовать рисунок в Turbo Pascal!!
Нужно нарисовать птицу в Паскале и объяснить мне как это сделать. Надеюсь на ваше понимание!!
Нарисуй сначала птичку на миллиметровке.
Преврати её в набор линий и/или замкнутых областей, состоящих из линий.
Перенеси этот рисунок в Паскаль.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Инициализируем графический ражим:
uses crt, graph;
var
gd, gm: integer;
begin
gd:= detect;
initgraph(gd, gm, ‘ c/bp’);
{ основная программа }
ReadKey;
CloseGraph;
end.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
В Турбо Паскале имеется процедура DrawPoly, которая позволяет строить любые многоугольники линией текущего цвета, стиля и толщины. Она имеет формат DrawPoly( a: word, var PolyPoints)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
var pp: array[1..4] of PointType;
...
pp[1].x := X1; pp[1].y := Y1;
pp[2].x := X2; pp[2].y := Y2;
pp[3].x := X3; pp[3].y := Y3;
pp[4].x := X4; pp[4].y := Y4;
DrawPoly(4, pp); { 4 точки из массива pp }
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
FillPoly - такая же как и DrawPoly, но создаётся закрашенная область!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
С помощью этих 2-х процедур можно нарисовать фигуру любой сложности.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Для выбора цвета рисования:
SetColor - определяет цвет линий
SetFillStyle - определяет цвет закраски области
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Вот простой пример готовой программы - рисование по заранее определённым точкам:
program g;
uses crt, graph;
const
Star: array[1..18] of integer = (75, 0, 100, 50, 150, 75, 100, 100, 75, 150, 50, 100, 0, 75, 50, 50, 75, 0);
var
gd, gm: integer;
begin
gd:= detect;
initgraph(gd, gm, ‘ c/bp’);
SetFillStyle(1,2);
FillPoly(9,Star); {9 – количество пересечений + 1}
ReadKey;
CloseGraph;
end.
Преврати её в набор линий и/или замкнутых областей, состоящих из линий.
Перенеси этот рисунок в Паскаль.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Инициализируем графический ражим:
uses crt, graph;
var
gd, gm: integer;
begin
gd:= detect;
initgraph(gd, gm, ‘ c/bp’);
{ основная программа }
ReadKey;
CloseGraph;
end.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
В Турбо Паскале имеется процедура DrawPoly, которая позволяет строить любые многоугольники линией текущего цвета, стиля и толщины. Она имеет формат DrawPoly( a: word, var PolyPoints)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
var pp: array[1..4] of PointType;
...
pp[1].x := X1; pp[1].y := Y1;
pp[2].x := X2; pp[2].y := Y2;
pp[3].x := X3; pp[3].y := Y3;
pp[4].x := X4; pp[4].y := Y4;
DrawPoly(4, pp); { 4 точки из массива pp }
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
FillPoly - такая же как и DrawPoly, но создаётся закрашенная область!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
С помощью этих 2-х процедур можно нарисовать фигуру любой сложности.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Для выбора цвета рисования:
SetColor - определяет цвет линий
SetFillStyle - определяет цвет закраски области
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Вот простой пример готовой программы - рисование по заранее определённым точкам:
program g;
uses crt, graph;
const
Star: array[1..18] of integer = (75, 0, 100, 50, 150, 75, 100, 100, 75, 150, 50, 100, 0, 75, 50, 50, 75, 0);
var
gd, gm: integer;
begin
gd:= detect;
initgraph(gd, gm, ‘ c/bp’);
SetFillStyle(1,2);
FillPoly(9,Star); {9 – количество пересечений + 1}
ReadKey;
CloseGraph;
end.
Program p23;
uses
graphabc;
begin
window.Title:='Bird';
window.IsFixedSize:=true;
setbrushcolor(cllightgray);
floodfill(150,200,clgray);
line(100,200,100,300);
line(150,200,150,300);
line(100,300,115,305);
line(100,300,113,308);
line(100,300,112,312);
line(150,300,165,305);
line(150,300,163,308);
line(150,300,162,312);
LINE(80,200,180,200);
line(80,200,50,230);
line(50,230,75,190);
line(75,190,50,200);
line(50,200,90,150);
line(90,150,92,149);
line(90,150,93,147);
line(93,147,96,146);
line(96,146,98,145);
line(98,145,175,146);
line(175,146,177,145);
line(177,145,178,143);
line(178,143,178,142);
line(178,142,205,100);
circle(225,100,20);
circle(230,90,3);
line(180,200,230,120);
line(245,105,250,120);
line(250,120,240,105);
end.
uses
graphabc;
begin
window.Title:='Bird';
window.IsFixedSize:=true;
setbrushcolor(cllightgray);
floodfill(150,200,clgray);
line(100,200,100,300);
line(150,200,150,300);
line(100,300,115,305);
line(100,300,113,308);
line(100,300,112,312);
line(150,300,165,305);
line(150,300,163,308);
line(150,300,162,312);
LINE(80,200,180,200);
line(80,200,50,230);
line(50,230,75,190);
line(75,190,50,200);
line(50,200,90,150);
line(90,150,92,149);
line(90,150,93,147);
line(93,147,96,146);
line(96,146,98,145);
line(98,145,175,146);
line(175,146,177,145);
line(177,145,178,143);
line(178,143,178,142);
line(178,142,205,100);
circle(225,100,20);
circle(230,90,3);
line(180,200,230,120);
line(245,105,250,120);
line(250,120,240,105);
end.
Похожие вопросы
- Люди помогите пожалуйста....Кто понимает TURBO PASCAL
- Помогите написать прогу на TURBO PASCAL...
- Помогите решить задачу по Turbo Pascal пожалуста
- Помогите составить программу на Turbo Pascal?
- Помогите с программой в Turbo Pascal
- Помогите с Turbo Pascal
- Помогите сделать задания по програмированию(двумерные массивы)Turbo Pascal
- Как вставить текст в Turbo Pascal 7.1???
- Turbo Pascal
- Объясните смысл прогаммы в Turbo Pascal