Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 10 лет назад пользователемАнна Федяшкина
1 Практикум по графике PascalABC
2 Отличие между Turbo Pascal и PascalАВС PascalАВС Turbo Pascal 1. Включение библиотеки графических процедур и функций 2. Инициализация графического ВИДЕОрежима по умолчанию 3. Закрытие графического ВИДЕОрежима по умолчанию 4. Графические процедуры и функции. Почти совпадают. За помощью обращайтесь к справочной информации данной программы
3 Местоположение команд графического модуля в справочной системе программы PascalABC:
4 Содержание модуля GraphABC Модуль GraphABC содержит константы, типы, процедуры, функции и классы для рисования в графическом окне. Они подразделяются на следующие группы: Графические примитивы Действия с цветом Действия с пером Действия с кистью Действия со шрифтом Действия с рисунками: описатели Действия с рисунками: класс Picture Действия с графическим окном Задание режимов вывода ПРИМЕЧАНИЕ: -изложено -изучить самостоятельно
5 Шаблон графической программы: Окно редактора программы Окно вывода графического рисунка SetWindowCaption(' '); или SetWindowTitle(' ');
6 Рассмотрим класс графических примитивов модуля GraphABC: MoveTo(x,y: integer); Передвигает невидимое перо к точке с координатами (x,y) ; эта функция работает в паре с функцией LineTo(x,y). LineTo(x,y: integer); Рисует отрезок от текущего положения пера до точки (x,y) ; координаты пера при этом также становятся равными (x,y). Line(x1,y1,x2,y2: integer); Рисует отрезок с началом в точке (x1,y1) и концом в точке (x2,y2). Circle(x,y,r: integer); Рисует окружность с центром в точке (x,y) и радиусом r. Ellipse(x1,y1,x2,y2: integer); Рисует эллипс, заданный своим описанным прямоугольником с координатами противоположных вершин (x1,y1) и (x2,y2). Rectangle(x1,y1,x2,y2: integer); Рисует прямоугольник, заданный координатами противоположных вершин (x1,y1) и (x2,y2).
7 Продолжение класса графических примитивов модуля GraphABC: RoundRect(x1,y1,x2,y2,w,h: integer); Рисует прямоугольник со скругленными краями; (x1,y1) и (x2,y2) задают пару противоположных вершин, а w и h – ширину и высоту эллипса, используемого для скругления краев. Arc(x,y,r,a1,a2: integer); Рисует дугу окружности с центром в точке (x,y) и радиусом r, заключенной между двумя лучами, образующими углы a1 и a2 с осью OX ( a1 и a2 – вещественные, задаются в градусах и отсчитываются против часовой стрелки). Pie(x,y,r,a1,a2: integer); Рисует сектор окружности, ограниченный дугой (параметры процедуры имеют тот же смысл, что и в процедуре Arc ). TextOut(x,y: integer; s: string); Выводит строку s в позицию (x,y) (точка (x,y) задает верхний левый угол прямоугольника, который будет содержать текст из строки s ). FloodFill(x,y,color: integer); Заливает область одного цвета цветом color, начиная с точки (x,y). FillRect(x1,y1,x2,y2: integer); Заливает прямоугольник, заданный координатами противоположных вершин (x1,y1) и (x2,y2), цветом текущей кисти. Для просмотра полного перечня класса графических примитивов модуля GraphABC нажмите эту кнопку:
8 Полный перечень класса графических примитивов модуля GraphABC: SetPixel(x,y,color: integer); Закрашивает один пиксел с координатами (x,y) цветом color. GetPixel(x,y): integer; Возвращает текущее значение цвета для пиксела с координатами (x,y). MoveTo(x,y: integer); Передвигает невидимое перо к точке с координатами (x,y) ; эта функция работает в паре с функцией LineTo(x,y). LineTo(x,y: integer); Рисует отрезок от текущего положения пера до точки (x,y) ; координаты пера при этом также становятся равными (x,y). Line(x1,y1,x2,y2: integer); Рисует отрезок с началом в точке (x1,y1) и концом в точке (x2,y2). Circle(x,y,r: integer); Рисует окружность с центром в точке (x,y) и радиусом r. Ellipse(x1,y1,x2,y2: integer); Рисует эллипс, заданный своим описанным прямоугольником с координатами противоположных вершин (x1,y1) и (x2,y2). Rectangle(x1,y1,x2,y2: integer); Рисует прямоугольник, заданный координатами противоположных вершин (x1,y1) и (x2,y2). RoundRect(x1,y1,x2,y2,w,h: integer); Рисует прямоугольник со скругленными краями; (x1,y1) и (x2,y2) задают пару противоположных вершин, а w и h – ширину и высоту эллипса, используемого для скругления краев. Arc(x,y,r,a1,a2: integer); Рисует дугу окружности с центром в точке (x,y) и радиусом r, заключенной между двумя лучами, образующими углы a1 и a2 с осью OX ( a1 и a2 – вещественные, задаются в градусах и отсчитываются против часовой стрелки). Pie(x,y,r,a1,a2: integer); Рисует сектор окружности, ограниченный дугой (параметры процедуры имеют тот же смысл, что и в процедуре Arc ). Chord(x,y,r,a1,a2: integer); Рисует фигуру, ограниченную дугой окружности и отрезком, соединяющим ее концы (параметры процедуры имеют тот же смысл, что и в процедуре Arc ). TextOut(x,y: integer; s: string); Выводит строку s в позицию (x,y) (точка (x,y) задает верхний левый угол прямоугольника, который будет содержать текст из строки s ). FloodFill(x,y,color: integer); Заливает область одного цвета цветом color, начиная с точки (x,y). FillRect(x1,y1,x2,y2: integer); Заливает прямоугольник, заданный координатами противоположных вершин (x1,y1) и (x2,y2), цветом текущей кисти. Polygon(var a; n: integer); Строит ломаную по n точкам, координаты которых заданы в массиве a элементов типа Point. Polyline(var a; n: integer); Строит замкнутую ломаную по n точкам, координаты которых заданы в массиве a элементов типа Point. Возврат в продолжение урока:
9 Разбор примеров: Задача 1. Нарисуйте треугольник из отрезков. Текст программы: Результат выполнения программы: Задача 2. Нарисуйте часть окружности:
10 Практическая работа на компьютере: Задание 1. Задание 1. Создайте рисунок: Задание 2. Задание 2. Создайте рисунок: Задание 3*. Задание 3*. Создайте рисунок: Просмотр текста программ:
11 Текст программы к задаче 2. Текст программы к задаче 3.
12 Рассмотрим класс цветовых констант и функций для работы со цветом в модуле GraphABC: Модуль GraphABC содержит константы и функции для работы с цветами. Тип ColorType, описывающий цвет, определен следующим образом: type ColorType=integer;
13 Продолжение изучения класса цветовых констант и функций для работы со цветом в модуле GraphABC: Стандартные цвета задаются символическими константами: clBlack – черный clPurple – фиолетовый clWhite – белый clMaroon – темно-красный clRed – красный clNavy – темно-синий clGreen – зеленый clBrown – коричневый clBlue – синий clSkyBlue – голубой clYellow – желтый clCream – кремовый clAqua – бирюзовый clOlive – оливковый clFuchsia – сиреневый clTeal – сине-зеленый clGray – темно-серый clLime – ярко-зеленый clMoneyGreen – цвет зеленых денег clLtGray – светло-серый clDkGray – темно-серый clMedGray – серый clSilver – серебряный
14 Разбор примеров: Задача 1. Создайте рисунок: Текст программы: Задача 2. Создайте рисунок: Задача 3. Создайте рисунок:
15 Практическая работа на компьютере: Задание 1. Задание 1. Создайте рисунок: Задание 2. Задание 2. Создайте рисунок: Задание 3*. Задание 3*. Создайте рисунок: Просмотр текста программ:
16 Текст программы к задаче 2. Текст программы к задаче 3.
17 Рассмотрим класс действий с пером в модуле GraphABC: PenX: integer; PenY: integer; Возвращают текущие координаты пера. SetPenColor(color: integer); Устанавливает цвет пера, задаваемый параметром color. PenColor: integer; Возвращает текущий цвет пера SetPenWidth(w: integer); Устанавливает ширину пера, равную w пикселам. PenWidth: integer; Возвращает текущую ширину пера SetPenStyle(ps: integer); Устанавливает стиль пера, задаваемый параметром ps. PenStyle: integer; Возвращает текущий стиль пера. SetPenMode(m: integer); Устанавливает режим пера, задаваемый параметром m. PenMode: integer; Возвращает текущий режим пера. Режим пера определяет, как цвет пера взаимодействует с цветом поверхности.
18 Продолжение изучения действий с пером в модуле GraphABC: Стили пера задаются следующими именованными константами: Режимы пера задаются следующими именованными константами: pmCopy – обычный режим; при рисовании цвет поверхности заменяется цветом пера; pmNot – режим инвертирования; при рисовании цвет поверхности инвертируется (становится негативным), а цвет пера при этом игнорируется.
19 Разбор примеров: Задача 1. Создайте рисунок: Текст программы: Задача 2. Создайте рисунок: ПРИМЕЧАНИЕ: ПРИМЕЧАНИЕ: При изменении толщины линии стиль пера изменить НЕЛЬЗЯ!
20 Практическая работа на компьютере: Задание 1. Задание 1. Создайте рисунок: Задание 2. Задание 2. Создайте рисунок: Задание 3*. Задание 3*. Создайте рисунок: (программа должна состоять ровно из 3-х команд) Просмотр текста программ:
21 Текст программы к задаче 2. Текст программы к задаче 3.
22 Рассмотрим класс действий с кистью в модуле GraphABC: SetBrushColor(color: integer); Устанавливает цвет кисти, задаваемый параметром color. BrushColor: integer; Возвращает текущий цвет кисти. SetBrushPicture(fname: string); Устанавливает в качестве образца для закраски кистью образец, хранящийся в файле fname, при этом текущий цвет кисти при закраске игнорируется. ClearBrushPicture; Очищает рисунок-образец, выбранный для кисти. SetBrushStyle(bs: integer); Устанавливает стиль кисти, задаваемый параметром bs. BrushStyle: integer; Возвращает текущий стиль кисти.
23 Продолжение рассмотрения класса действий с кистью модуле GraphABC: Стили кисти задаются следующими именованными константами: ПРИМЕЧАНИЕ: ПРИМЕЧАНИЕ: Стили кисти задаются для закраски внутреннего содержимого фигур
24 Разбор примеров: Задача 1. Создайте рисунок: Текст программы: Задача 2. Создайте рисунок:
25 Практическая работа на компьютере: Задание 1. Задание 1. Создайте рисунок: Задание 2. Задание 2. Создайте рисунок: Задание 3*. Задание 3*. Создайте рисунок: Просмотр текста программ:
26 Текст программы к задаче 1. Текст программы к задаче 2. Текст программы к задаче 3.
27 Рассмотрим класс действий со шрифтом в модуле GraphABC: SetFontColor(color: integer); Устанавливает цвет шрифта. FontColor: integer; Возвращает текущий цвет шрифта. SetFontSize(sz: integer); Устанавливает размер шрифта в пунктах. FontSize: integer; Возвращает текущий размер шрифта в пунктах. SetFontName(name: string); Устанавливает наименование шрифта. FontName: string; Возвращает текущее наименование шрифта. По умолчанию установлен шрифт, имеющий наименование MS Sans Serif. Наиболее распространенные шрифты – это Times, Arial и Courier New. Наименование шрифта можно набирать без учета регистра. SetFontStyle(fs: integer); Устанавливает стиль шрифта. FontStyle: integer; Возвращает текущий стиль шрифта. TextWidth(s: string): integer; Возвращает ширину строки s в пикселях при текущих настройках шрифта. TextHeight(s: string): integer; Возвращает высоту строки s в пикселях при текущих настройках шрифта.
28 Продолжение рассмотрения класса действий со шрифтом в м м м модуле GraphABC: Стили шрифта задаются следующими именованными константами: fsNormal – обычный; fsBold – жирный; fsItalic – наклонный; fsBoldItalic – жирный наклонный; fsUnderline – подчеркнутый; fsBoldUnderline – жирный подчеркнутый; fsItalicUnderline – наклонный подчеркнутый; fsBoldItalicUnderline – жирный наклонный подчеркнутый
29 Разбор примеров: Задача 1. Создайте рисунок: Текст программы: Задача 2. Создайте рисунок: Задача 3. Создайте рисунок: Задача 4. Создайте рисунок:
30 Практическая работа на компьютере: Задание 1. Задание 1. Создайте рисунок: Задание 2. Задание 2. Создайте рисунок: Задание 3*. Создайте рисунок: (использовать команды работы с кистью) Просмотр текста программ:
31 Текст программы к задаче 1. Текст программы к задаче 2. Текст программы к задаче 3*.
32 Рассмотрим класс действий с рисунками*** в модуле GraphABC: Работа с рисунками в модуле GraphABC производится либо с помощью описателей (целых чисел, однозначно определяющих рисунок), либо с помощью объектов класса Picture (объекты данного класса должны быть помещены в каталог \Media\Images\ для использования в программах). Работа с помощью описателей позволяет манипулировать рисунками, используя обычные процедуры и функции и не используя классы. Рассмотрим только три процедуры действий с рисунком: LoadPicture(fname: string): integer; n:=LoadPicture(fname) – загружает рисунок из файла с именем fname в оперативную память и возвращает описатель рисунка в целую переменную n ; если файл не найден, то возникает ошибка времени выполнения. Загружать можно рисунки в формате.bmp,.jpg или.gif. DrawPicture(n,x,y: integer); Выводит рисунок с описателем n в позицию (x,y) графического окна. DrawPicture(n,x,y,w,h: integer); Выводит рисунок с описателем n в позицию (x,y) графического окна, масштабируя его размеры к ширине w и высоте h. Если w
33 Разбор примеров: Задача 1. Создайте рисунок: Текст программы: Задача 2. Создайте рисунок:
34 Практическая работа на компьютере: Задание 1. Задание 1. Создайте рисунок: Задание 2. Задание 2. Создайте рисунок: Просмотр текста программ: ПРИМЕЧАНИЕ: В каталоге Picture, на который ссылается программа, на данный момент находятся следующие файлы: target.jpeg; strawberry.png; home2.png; home1.png; girl.bmp; demo.bmp; computer.png; clock.png и др.
35 Текст программы к задаче 1. Текст программы к задаче 2.
36 Заключение : В данном уроке мы рассмотрели применение отдельных процедур и функций графического модуля PascalABC при работе с графическими примитивами и текстом, изменение цвета, настройка и использование пера и кисти, а так же использование в программах готовых графических файлов. Не рассмотрены модули работы с графическим окном, режимы вывода и класс Picture. Предлагаю изучить их самостоятельно, если ВАМ это надо. И помните, что путь к вершине ПЕДАГОГИЧЕСКОГО МАСТЕРСТВА лежит через поиск, самостоятельное изучение и применение на уроках. СПАСИБО ЗА ВНИМАНИЕ И ТЕРПЕНИЕ…
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.