Практикум по графике PascalABC. Отличие между Turbo Pascal и PascalАВС PascalАВС Turbo Pascal 1. Включение библиотеки графических процедур и функций 2.

Презентация:



Advertisements
Похожие презентации
Графика в РАВС Модуль crt, graphabc Графические примитивы SetPixel(x,y,color); Закрашивает один пиксел с координатами (x,y) цветом color. GetPixel(x,y);
Advertisements

Учебная система программирования вводный курс. УРОК 5. Графика и графические операторы в языке Паскаль Паскаль имеет развитую систему работу с графикой,
1 Pascal Модуль GraphABC. 2 Подключение дополнительных библиотек Для работы в графическом режиме необходимо подключение модуля GraphABC. Первой инструкцией.
1 Графика в Pascal. 2 Подключение дополнительных библиотек Для работы в графическом режиме необходимо подключение модуля GraphABC. Первой инструкцией.
Пункт плана Введение Граф. примитивы Граф. примитивы Текст Литература.
Тема урока X Y.
ABCPascal Модуль GraphABC. Подключение дополнительных библиотек Для работы в графическом режиме необходимо подключение модуля GraphABC. Первой инструкцией.
Магистрант Хаитов Икром Джураевич. Как называется элементарная точка на экране монитора ? Пиксель 2 В виде чего строятся изображения на экране ? Растров.
1 Pascal Модуль GraphABC Лекция Подключение дополнительных библиотек Для работы в графическом режиме необходимо подключение модуля GraphABC. Первой.
Пункт плана Введение Граф. примитивы Граф. примитивы Текст Литература Гайдаржи Александра Андреевна
Графика в Pascal Графика в Pascal. Модуль GraphABC Модуль GraphABC.
Использование графических возможностей языка программирования (точка, отрезок, окружность, прямоугольник)
Вы научились составлять программы, с помощью которых компьютер пишет на экране монитора, отвечает на вопросы, считает, решает математические задачи. Ранее.
Вы научились: Составлять программы с помощью которых компьютер – пишет слова, – считает, – решает задачи, – выполняет выражения, – …– …– …– … А что ещё.
Подключение дополнительных библиотек Для работы в графическом режиме необходимо подключение модуля GraphABC. Первой инструкцией программы должна быть.
§ 28 Линейные массивы и работа с графикой на языке Pascal Глава 3. Программирование на языках JavaScript и Pascal.
Delphi Pascal. Поверхности, на которую программа может выводить графику, соответствует свойство Canvas. Размер холста можно получить, обратившись к свойствам.
11 класс. №005. Использование графических возможностей среды программирования для построения геометрических фигур. Закрашивание фигур.Часть 2.
Графические примитивы (процедуры) SetPixel(x,y,color); рисует точку с координатами (x, y) цветом color Line(x1,y1,x2,y2); рисует отрезок из точки с координатами.
1 Графика в Pascal Модуль Graph. 2 Подключение дополнительных библиотек Для работы в графическом режиме необходимо подключение модуля Graph. Первой инструкцией.
Транксрипт:

Практикум по графике PascalABC

Отличие между Turbo Pascal и PascalАВС PascalАВС Turbo Pascal 1. Включение библиотеки графических процедур и функций 2. Инициализация графического ВИДЕОрежима по умолчанию 3. Закрытие графического ВИДЕОрежима по умолчанию 4. Графические процедуры и функции. Почти совпадают. За помощью обращайтесь к справочной информации данной программы

Местоположение команд графического модуля в справочной системе программы PascalABC:

Содержание модуля GraphABC Модуль GraphABC содержит константы, типы, процедуры, функции и классы для рисования в графическом окне. Они подразделяются на следующие группы: Графические примитивы Действия с цветом Действия с пером Действия с кистью Действия со шрифтом Действия с рисунками: описатели Действия с рисунками: класс Picture Действия с графическим окном Задание режимов вывода ПРИМЕЧАНИЕ: -изложено -изучить самостоятельно

Шаблон графической программы: Окно редактора программы Окно вывода графического рисунка SetWindowCaption(' '); или SetWindowTitle(' ');

Рассмотрим класс графических примитивов модуля 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).

Продолжение класса графических примитивов модуля 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 нажмите эту кнопку:

Полный перечень класса графических примитивов модуля 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. Возврат в продолжение урока:

Разбор примеров: Задача 1. Нарисуйте треугольник из отрезков. Текст программы: Результат выполнения программы: Задача 2. Нарисуйте часть окружности:

Практическая работа на компьютере: Задание 1. Задание 1. Создайте рисунок: Задание 2. Задание 2. Создайте рисунок: Задание 3*. Задание 3*. Создайте рисунок: Просмотр текста программ:

Текст программы к задаче 2. Текст программы к задаче 3.

Рассмотрим класс цветовых констант и функций для работы со цветом в модуле GraphABC: Модуль GraphABC содержит константы и функции для работы с цветами. Тип ColorType, описывающий цвет, определен следующим образом: type ColorType=integer;

Продолжение изучения класса цветовых констант и функций для работы со цветом в модуле GraphABC: Стандартные цвета задаются символическими константами: clBlack – черный clPurple – фиолетовый clWhite – белый clMaroon – темно-красный clRed – красный clNavy – темно-синий clGreen – зеленый clBrown – коричневый clBlue – синий clSkyBlue – голубой clYellow – желтый clCream – кремовый clAqua – бирюзовый clOlive – оливковый clFuchsia – сиреневый clTeal – сине-зеленый clGray – темно-серый clLime – ярко-зеленый clMoneyGreen – цвет зеленых денег clLtGray – светло-серый clDkGray – темно-серый clMedGray – серый clSilver – серебряный

Разбор примеров: Задача 1. Создайте рисунок: Текст программы: Задача 2. Создайте рисунок: Задача 3. Создайте рисунок:

Практическая работа на компьютере: Задание 1. Задание 1. Создайте рисунок: Задание 2. Задание 2. Создайте рисунок: Задание 3*. Задание 3*. Создайте рисунок: Просмотр текста программ:

Текст программы к задаче 2. Текст программы к задаче 3.

Рассмотрим класс действий с пером в модуле 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; Возвращает текущий режим пера. Режим пера определяет, как цвет пера взаимодействует с цветом поверхности.

Продолжение изучения действий с пером в модуле GraphABC: Стили пера задаются следующими именованными константами: Режимы пера задаются следующими именованными константами: pmCopy – обычный режим; при рисовании цвет поверхности заменяется цветом пера; pmNot – режим инвертирования; при рисовании цвет поверхности инвертируется (становится негативным), а цвет пера при этом игнорируется.

Разбор примеров: Задача 1. Создайте рисунок: Текст программы: Задача 2. Создайте рисунок: ПРИМЕЧАНИЕ: ПРИМЕЧАНИЕ: При изменении толщины линии стиль пера изменить НЕЛЬЗЯ!

Практическая работа на компьютере: Задание 1. Задание 1. Создайте рисунок: Задание 2. Задание 2. Создайте рисунок: Задание 3*. Задание 3*. Создайте рисунок: (программа должна состоять ровно из 3-х команд) Просмотр текста программ:

Текст программы к задаче 2. Текст программы к задаче 3.

Рассмотрим класс действий с кистью в модуле GraphABC: SetBrushColor(color: integer); Устанавливает цвет кисти, задаваемый параметром color. BrushColor: integer; Возвращает текущий цвет кисти. SetBrushPicture(fname: string); Устанавливает в качестве образца для закраски кистью образец, хранящийся в файле fname, при этом текущий цвет кисти при закраске игнорируется. ClearBrushPicture; Очищает рисунок-образец, выбранный для кисти. SetBrushStyle(bs: integer); Устанавливает стиль кисти, задаваемый параметром bs. BrushStyle: integer; Возвращает текущий стиль кисти.

Продолжение рассмотрения класса действий с кистью модуле GraphABC: Стили кисти задаются следующими именованными константами: ПРИМЕЧАНИЕ: ПРИМЕЧАНИЕ: Стили кисти задаются для закраски внутреннего содержимого фигур

Разбор примеров: Задача 1. Создайте рисунок: Текст программы: Задача 2. Создайте рисунок:

Практическая работа на компьютере: Задание 1. Задание 1. Создайте рисунок: Задание 2. Задание 2. Создайте рисунок: Задание 3*. Задание 3*. Создайте рисунок: Просмотр текста программ:

Текст программы к задаче 1. Текст программы к задаче 2. Текст программы к задаче 3.

Рассмотрим класс действий со шрифтом в модуле 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 в пикселях при текущих настройках шрифта.

Продолжение рассмотрения класса действий со шрифтом в м м м модуле GraphABC: Стили шрифта задаются следующими именованными константами: fsNormal – обычный; fsBold – жирный; fsItalic – наклонный; fsBoldItalic – жирный наклонный; fsUnderline – подчеркнутый; fsBoldUnderline – жирный подчеркнутый; fsItalicUnderline – наклонный подчеркнутый; fsBoldItalicUnderline – жирный наклонный подчеркнутый

Разбор примеров: Задача 1. Создайте рисунок: Текст программы: Задача 2. Создайте рисунок: Задача 3. Создайте рисунок: Задача 4. Создайте рисунок:

Практическая работа на компьютере: Задание 1. Задание 1. Создайте рисунок: Задание 2. Задание 2. Создайте рисунок: Задание 3*. Создайте рисунок: (использовать команды работы с кистью) Просмотр текста программ:

Текст программы к задаче 1. Текст программы к задаче 2. Текст программы к задаче 3*.

Рассмотрим класс действий с рисунками*** в модуле 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

Разбор примеров: Задача 1. Создайте рисунок: Текст программы: Задача 2. Создайте рисунок:

Практическая работа на компьютере: Задание 1. Задание 1. Создайте рисунок: Задание 2. Задание 2. Создайте рисунок: Просмотр текста программ: ПРИМЕЧАНИЕ: В каталоге Picture, на который ссылается программа, на данный момент находятся следующие файлы: target.jpeg; strawberry.png; home2.png; home1.png; girl.bmp; demo.bmp; computer.png; clock.png и др.

Текст программы к задаче 1. Текст программы к задаче 2.

Заключение : В данном уроке мы рассмотрели применение отдельных процедур и функций графического модуля PascalABC при работе с графическими примитивами и текстом, изменение цвета, настройка и использование пера и кисти, а так же использование в программах готовых графических файлов. Не рассмотрены модули работы с графическим окном, режимы вывода и класс Picture. Предлагаю изучить их самостоятельно, если ВАМ это надо. И помните, что путь к вершине ПЕДАГОГИЧЕСКОГО МАСТЕРСТВА лежит через поиск, самостоятельное изучение и применение на уроках. СПАСИБО ЗА ВНИМАНИЕ И ТЕРПЕНИЕ…