Grafica_Pascal_ABC.ppt
- Количество слайдов: 35
Pascal Модуль Graph. ABC Лекция № 10 1
Подключение дополнительных библиотек Для работы в графическом режиме необходимо подключение модуля Graph. ABC. Первой инструкцией программы должна быть инструкция uses Graph. ABC; 2
Графический режим Графический экран умолчанию) содержит Pasсal. ABC (по 640 по точек горизонтали и 400 точек по вертикали. 640 точек 400 точек Начало отсчета – левый верхний угол экрана 3
Управление экраном Set. Window. Width(w) Устанавливает окна; ширину графического Set. Window. Height(h) Устанавливает высоту графического окна; 4
Очистка графического окна Clear. Window; белым цветом. - очищает графическое окно Clear. Window(color); окно указанным цветом. очищает графическое program clear; uses Graph. ABC; begin Clear. Window; Clear. Window (cl. Money. Green); end. Цвет зеленых денег 5
Графические примитивы 1. Точка 2. Линия 3. Прямоугольник 4. Окружность 5. Эллипс 6. Сектор 7. Дуга 6
Точка Set. Pixel(x, y, color) - Закрашивает один пиксел с координатами (x, y) цветом color program tochka; uses Graph. ABC; begin Set. Pixel(300, 200, clred); end. 7
Line. To(x, y) Линии рисует отрезок от текущего положения пера до точки (x, y); координаты пера при этом также становятся равными (x, y). x, y - Program liniay; uses Graph. ABC; begin Line. To(300, 200); end. 8
Линии Line(x 1, y 1, x 2, y 2) - рисует отрезок с началом в точке (x 1, y 1) и концом в точке (x 2, y 2). x 1, y 1 x 2, y 2 Program liniay; uses Graph. ABC; begin line(100, 500, 250); end. 9
Используемые цвета cl. Black – черный cl. Purple – фиолетовый cl. White – белый cl. Maroon – темно-красный cl. Red – красный cl. Navy – темно-синий cl. Green – зеленый cl. Brown – коричневый cl. Blue – синий cl. Sky. Blue – голубой cl. Yellow – желтый cl. Cream – кремовый cl. Aqua – бирюзовый cl. Olive – оливковый cl. Fuchsia – сиреневый cl. Teal – сине-зеленый cl. Gray – темно-серый cl. Lime – ярко-зеленый cl. Money. Green – цвет зеленых денег cl. Lt. Gray – светло-серый cl. Dk. Gray – темно-серый cl. Med. Gray – серый cl. Silver – серебряный Random(16777215) – случайный цвет из всей палитры цветов Паскаля 10
Цвет линии Set. Pen. Color(color) цвет пера, color. - устанавливает задаваемый параметром Program liniay; uses Graph. ABC; begin setpencolor(clred); line(30, 400, 350); end. 11
Пунктирная линия Set. Pen. Style(<номер от 1 до 6>); устанавливает номером. стиль пера, задаваемый program prim; uses Graph. ABC; begin Setpencolor(clred); Set. Pen. Style(1); {1 - длинный штрих} Line(10, 100, 350, 100); Set. Pen. Style(2); {2 - короткий штрих} Line(10, 125, 350, 125); Set. Pen. Style(3); {3 - штрих-пунктир} Line(10, 150, 350, 150); end. 12
Толщина линии Set. Pen. Width(n) ширину (толщину) пикселям. - устанавливает пера, равную n Program liniay; uses Graph. ABC; begin setpenwidth(20); setpencolor(clred); line(30, 400, 350); end. 13
Треугольник Рисуется процедурами Line(x 1, y 1, x 2, y 2); Line. To(x, y); Program treugolnik; uses Graph. ABC; begin setpenwidth(20); setpencolor(clred); line(300, 100, 500, 300); lineto(100, 300); lineto(300, 100); floodfill(300, 200, clgreen); 14 end.
Прямоугольник Rectangle(x 1, y 1, x 2, y 2) - рисует прямоугольник, заданный координатами противоположных вершин (x 1, y 1) и (x 2, y 2). x 1, y 1 x 2, y 2 Program pryamougolnik; uses Graph. ABC; begin Rectangle(50, 200, 200); end. 15
Заливка цветом Flood. Fill(x, y, color) заливает область одного цвета цветом color, начиная с точки (x, y). x 1, y 1 x 2, y 2 Program pryamougolnik; uses Graph. ABC; begin Rectangle(50, 200, 200); Flood. Fill(100, cl. Blue); end. 16
Заливка кистью Set. Brush. Color(color) - устанавливает цвет кисти. Заливка кистью распространяется на замкнутый контур, описание которого следует за процедурой установки цвета кисти. Program zalivka_kist; uses Graph. ABC; Begin Set. Brush. Color(cl. Green); Rectangle(50, 300, 300); end. 17
Заливка кистью Set. Brush. Style(номер от 0 до 7 или название) устанавливает стиль кисти, символической константой. По умолчанию задается стиль 0 – сплошная заливка цветом. задаваемый номером Program p 12_zalivka; uses Graph. ABC; Begin Set. Brush. Color(cl. Aqua); Set. Brush. Style(1); Rectangle(10, 100, 100); Set. Brush. Color(cl. Red); Set. Brush. Style(2); Rectangle(110, 200, 100); Set. Brush. Color(cl. Blue); Set. Brush. Style(3); Rectangle(210, 300, 100); Set. Brush. Color(cl. Green); Set. Brush. Style(4); Rectangle(10, 100, 210); Set. Brush. Color(cl. Yellow); Set. Brush. Style(5); Rectangle(110, 200, 210); Set. Brush. Color(cl. Black); Set. Brush. Style(6); Rectangle(210, 110, 300, 210); end. или 18
Заливка кистью Set. Brush. Picture(‘fname’) - устанавливает в качестве образца для закраски кистью образец, хранящийся в файле fname, при этом текущий цвет кисти при закраске игнорируется. uses Graph. ABC; begin Set. Brush. Picture('brush 4. bmp'); Ellipse(0, 0, 640, 400); end. 19
Цвет и толщина контура Задаются процедурами Set. Pen. Width(w); Set. Pen. Color(color); Program pryamougolnik; uses Graph. ABC; begin Set. Pen. Color(clred); Set. Pen. Width(20); Rectangle(50, 200, 200); Flood. Fill(100, cl. Blue); end. 20
Окружность Circle(x, y, r) - рисует окружность с центром в точке (x, y) и радиусом r. r x 1, y 1 Program circle; uses Graph. ABC; begin Circle(500, 200, 100); Flood. Fill(500, 200, clred); end. 21
Эллипс Ellipse(x 1, y 1, x 2, y 2) - рисует эллипс, заданный своим описанным прямоугольником с координатами противоположных вершин (x 1, y 1) и (x 2, y 2). x 1, y 1 x 2, y 2 Program oval; uses Graph. ABC; begin Ellipse(50, 200, 350); Flood. Fill(50+100, clred); Ellipse(250, 150, 550, 300); Flood. Fill(250+100, 150+100, cl. Blue); end. 22
Дуга окружности Arc(x, y, r, a 1, a 2) - Рисует дугу окружности с центром в точке (x, y) и радиусом r, заключенной между двумя лучами, образующими углы a 1 и a 2 с осью OX (a 1 и a 2 – вещественные, задаются в градусах и отсчитываются против часовой стрелки). r x, y Program duga; uses Graph. ABC; Begin Set. Pen. Width(10); Arc(300, 250, 150, 45, 135); end. 23
Сектор Pie(x, y, r, a 1, a 2) рисует сектор окружности, ограниченный дугой (параметры процедуры имеют тот же смысл, что и в процедуре Arc). Program sector; uses Graph. ABC; begin Pie(300, 200, 100, 0, 90); Flood. Fill(300+10, 200 -10, cl. Aqua); end. 24
Вывод текста в графическое окно Text. Out(x, y, ’строка’); - выводит строку текста в позицию (x, y) (точка (x, y) задает верхний левый угол прямоугольника, который будет содержать текст). Program text; uses Graph. ABC; begin Text. Out(100, 30, 'Квадрат'); Rectangle(50, 200, 200); Flood. Fill(55, cl. Blue); end. 25
Действия со шрифтом Set. Font. Name(‘name’)- устанавливает наименование шрифта. Set. Font. Color(color) - устанавливает цвет шрифта. Set. Font. Size(sz) устанавливает размер шрифта в пунктах. Set. Font. Style(fs) - устанавливает стиль шрифта. 26
Название шрифта По умолчанию установлен шрифт, имеющий наименование MS Sans Serif. Наиболее распространенные шрифты – это Times, Arial и Courier New. Наименование шрифта можно набирать без учета регистра. Пример: Set. Font. Name(‘Times’); 27
Стиль шрифта Задается именованными константами: fs. Normal – обычный; fs. Bold – жирный; fs. Italic – наклонный; fs. Bold. Italic – жирный наклонный; fs. Underline – подчеркнутый; fs. Bold. Underline – жирный подчеркнутый; fs. Italic. Underline – наклонный подчеркнутый; fs. Bold. Italic. Underline – жирный наклонный подчеркнутый. 28
Например, Program text; uses Graph. ABC; Begin Set. Font. Name(‘Arial’); Set. Font. Size(20); Set. Font. Color(cl. Red); Text. Out(10, ‘обычный'); Set. Font. Style(fs. Italic); Set. Font. Color(cl. Blue); Text. Out(10, 50, ‘наклонный'); Set. Font. Style(fs. Bold); Set. Font. Color(Random(16777215)); Text. Out(10, 90, ‘жирный'); Set. Font. Style(fs. Underline); Set. Font. Color(Random(16777215)); Text. Out(10, 130, ‘подчеркнутый'); Set. Font. Style(fs. Bold. Italic. Underline); Set. Font. Color(Random(16777215)); Text. Out(10, 170, ’жирный, наклонный, подчеркнутый'); end. 29
Используемые цвета Цвет можно задавать и с помощью функции RGB(r, g, b) где r, g и b – целые числа в диапазоне от 0 до 255. Функция возвращает целое значение, являющееся кодом цвета, который содержит красную, зеленую и синюю составляющие с интенсивностями r, g и b соответственно (0 соответствует минимальной интенсивности, 255 – максимальной). RGB(255, 255) – цвету. RGB(0, 0, 0) – соответствует белому соответствует черному цвету. 30
Например, Program color; uses Graph. ABC; begin Clearwindow(rgb(200, 150, 250)); Text. Out(93, 30, ' Квадрат '); Rectangle(50, 200, 200); Flood. Fill(55, cl. Red); Text. Out(275, 30, ' Эллипс'); Ellipse(250, 350, 200); Flood. Fill(250+50, cl. Yellow); end. 31
Вывод текста в графическое окно Текст можно вывести Gotoxy(x, y) с помощью Write(‘текст’), дополнительно модуль Crt. и операторов подключив Program text 2; uses Crt, Graph. ABC; begin clrscr; hidecursor; {скрывает текстовый курсор} goto. XY(12, 3); write(‘Квадрат'); Rectangle(50, 200, 200); Flood. Fill(55, cl. Yellow); end. 32
Загрузка готового рисунка Load. Picture(fname) n: =Load. Picture(fname) – загружает рисунок из файла с именем fname в оперативную память и возвращает описатель рисунка в целую переменную n; если файл не найден, то возникает ошибка времени выполнения. Загружать можно рисунки в формате. bmp, . jpg или. gif. 33
Вывод рисунка в графическое окно Draw. Picture(n, x, y); Выводит рисунок с описателем n в позицию (x, y) графического окна. uses Graph. ABC; var pic: integer; begin pic: =Load. Picture('demo. bmp'); Draw. Picture(pic, 10); Destroy. Picture(pic); end. 34
Сохранение созданного рисунка Save. Picture(n, ‘fname’) - Сохраняет рисунок с описателем n в файл с именем fname. Рисунки можно сохранять в формате. bmp, . jpg или. gif. 35
Grafica_Pascal_ABC.ppt