ݺߣ

ݺߣShare a Scribd company logo
1
PascalPascal
МодульМодуль GraphABCGraphABC
2
Подключение
дополнительных библиотек
Для работы в графическом
режиме необходимо подключение
модуля GraphABC.
Первой инструкцией
программы должна быть
инструкция
uses GraphABC;
3
Графический режим
Графический экран PasсalABC (по
умолчанию) содержит 640 точек по
горизонтали и 400 точек по вертикали.
640 точек
400точек
Начало отсчета –
левый верхний
угол экрана
4
Управление экраном
SetWindowWidth(w) -
Устанавливает ширину графического
окна;
SetWindowHeight(h) -
Устанавливает высоту графического
окна;
5
ClearWindow; - очищает графическое окно
белым цветом.
ClearWindow(color); - очищает графическое
окно указанным цветом.
Очистка графического окна
program clear;
uses GraphABC;
begin
ClearWindow;
ClearWindow (clMoneyGreen);
end.
6
Графические примитивы
1. Точка
2. Линия
3. Прямоугольник
4. Окружность
5. Эллипс
6. Сектор
7. Дуга
7
Точка
SetPixel(x,y,color) - Закрашивает
один пиксел с координатами (x,y) цветом
color
program tochka;
uses GraphABC;
begin
SetPixel(300,200,clred);
end.
8
Линии
LineTo(x,y) - рисует отрезок от
текущего положения пера до точки (x,y);
координаты пера при этом также
становятся равными (x,y).
x,y
Program liniay;
uses GraphABC;
begin
LineTo(300,200);
end.
9
Линии
Line(x1,y1,x2,y2) - рисует отрезок
с началом в точке (x1,y1) и концом в
точке (x2,y2).
Program liniay;
uses GraphABC;
begin
line(100,50,500,250);
end.
x1,y1
x2,y2
10
Используемые цвета
clBlack – черный
clPurple – фиолетовый
clWhite – белый
clMaroon – темно-красный
clRed – красный
clNavy – темно-синий
clGreen – зеленый
clBrown – коричневый
clBlue – синий
clSkyBlue – голубой
clYellow – желтый
clCream – кремовый
clAqua – бирюзовый
clOlive – оливковый
clFuchsia – сиреневый
clTeal – сине-зеленый
clGray – темно-серый
clLime – ярко-зеленый
clMoneyGreen – цвет
зеленых денег
clLtGray – светло-серый
clDkGray – темно-серый
clMedGray – серый
clSilver – серебряный
Random(16777215) – случайный цвет из всей палитры цветов Паскаля
11
Цвет линии
SetPenColor(color) - устанавливает
цвет пера, задаваемый параметром
color.
Program liniay;
uses GraphABC;
begin
setpencolor(clred);
line(30,30,400,350);
end.
12
Пунктирная линия
SetPenStyle(<номер от 1 до 6>); -
устанавливает стиль пера, задаваемый
номером.
program prim;
uses GraphABC;
begin
Setpencolor(clred);
SetPenStyle(1); {1 - длинный штрих}
Line(10,100,350,100);
SetPenStyle(2); {2 - короткий штрих}
Line(10,125,350,125);
SetPenStyle(3); {3 - штрих-пунктир}
Line(10,150,350,150);
end.
13
Толщина линии
SetPenWidth(n) - устанавливает
ширину (толщину) пера, равную n
пикселям.
Program liniay;
uses GraphABC;
begin
setpenwidth(20);
setpencolor(clred);
line(30,30,400,350);
end.
14
Program treugolnik;
uses GraphABC;
begin
setpenwidth(20);
setpencolor(clred);
line(300,100,500,300);
lineto(100,300);
lineto(300,100);
floodfill(300,200,clgreen);
end.
Треугольник
Рисуется процедурами
Line(x1,y1,x2,y2); LineTo(x,y);
15
Прямоугольник
Rectangle(x1,y1,x2,y2) - рисует
прямоугольник, заданный координатами
противоположных вершин (x1,y1) и (x2,y2).
Program pryamougolnik;
uses GraphABC;
begin
Rectangle(50,50,200,200);
end.
x1,y1
x2,y2
16
Заливка цветом
FloodFill(x,y,color) - заливает
область одного цвета цветом color, начиная
с точки (x,y).
Program pryamougolnik;
uses GraphABC;
begin
Rectangle(50,50,200,200);
FloodFill(100,100,clBlue);
end.
x1,y1
x2,y2
17
Program pryamougolnik;
uses GraphABC;
begin
SetPenColor(clred);
SetPenWidth(20);
Rectangle(50,50,200,200);
FloodFill(100,100,clBlue);
end.
Цвет и толщина контура
Задаются процедурами
SetPenWidth(w);
SetPenColor(color);
18
Circle(x,y,r) - рисует окружность с
центром в точке (x,y) и радиусом r.
Окружность
Program circle;
uses GraphABC;
begin
Circle(500,200,100);
FloodFill(500,200,clred);
end.
x1,y1
r
19
Эллипс
Ellipse(x1,y1,x2,y2) - рисует эллипс,
заданный своим описанным прямоугольником с
координатами противоположных вершин (x1,y1) и
(x2,y2).
Program oval;
uses GraphABC;
begin
Ellipse(50,50,200,350);
FloodFill(50+100,50+100,clred);
Ellipse(250,150,550,300);
FloodFill(250+100,150+100,clBlue);
end.
x1,y1
x2,y2
x1,y1
x2,y2
20
Дуга окружности
Arc(x,y,r,a1,a2) - Рисует дугу
окружности с центром в точке (x,y) и
радиусом r, заключенной между двумя
лучами, образующими углы a1 и a2 с осью
OX (a1 и a2 – вещественные, задаются в
градусах и отсчитываются против часовой
стрелки).
Program duga;
uses GraphABC;
Begin
SetPenWidth(10);
Arc(300,250,150,45,135);
end.
x,y
r
21
Pie(x,y,r,a1,a2) - рисует сектор
окружности, ограниченный дугой (параметры
процедуры имеют тот же смысл, что и в
процедуре Arc).
Сектор
Program sector;
uses GraphABC;
begin
Pie(300,200,100,0,90);
FloodFill(300+10,200-10,clAqua);
end.
22
LoadPicture(fname)
n:=LoadPicture(fname) –
загружает рисунок из файла с именем
fname в оперативную память и возвращает
описатель рисунка в целую переменную
n; если файл не найден, то возникает
ошибка времени выполнения.
Загружать можно рисунки в формате
.bmp, .jpg или .gif.
Загрузка готового рисунка
23
DrawPicture(n,x,y);
Выводит рисунок с описателем n в
позицию (x,y) графического окна.
Вывод рисунка в графическое
окно
uses GraphABC;
var pic: integer;
begin
pic:=LoadPicture('demo.bmp');
DrawPicture(pic,10,10);
DestroyPicture(pic);
end.

More Related Content

What's hot (19)

20110925 computer graphics_galinsky_lecture03_color
20110925 computer graphics_galinsky_lecture03_color20110925 computer graphics_galinsky_lecture03_color
20110925 computer graphics_galinsky_lecture03_color
Computer Science Club
трасировка Mpi приложений
трасировка Mpi приложенийтрасировка Mpi приложений
трасировка Mpi приложений
Michael Karpov
Лекция 6. Стандарт OpenMP
Лекция 6. Стандарт OpenMPЛекция 6. Стандарт OpenMP
Лекция 6. Стандарт OpenMP
Mikhail Kurnosov
Семинар 7. Многопоточное программирование на OpenMP (часть 7)
Семинар 7. Многопоточное программирование на OpenMP (часть 7)Семинар 7. Многопоточное программирование на OpenMP (часть 7)
Семинар 7. Многопоточное программирование на OpenMP (часть 7)
Mikhail Kurnosov
Алгоритмическая конструкция Повторение
Алгоритмическая конструкция ПовторениеАлгоритмическая конструкция Повторение
Алгоритмическая конструкция Повторение
Andrey Dolinin
Евгений Крутько — Опыт внедрения технологий параллельных вычислений для повыш...
Евгений Крутько — Опыт внедрения технологий параллельных вычислений для повыш...Евгений Крутько — Опыт внедрения технологий параллельных вычислений для повыш...
Евгений Крутько — Опыт внедрения технологий параллельных вычислений для повыш...
Yandex
Семинар 2. Многопоточное программирование на OpenMP (часть 2)
Семинар 2. Многопоточное программирование на OpenMP (часть 2)Семинар 2. Многопоточное программирование на OpenMP (часть 2)
Семинар 2. Многопоточное программирование на OpenMP (часть 2)
Mikhail Kurnosov
8 2-4-3
8 2-4-38 2-4-3
8 2-4-3
Ирина Куликова
Семинар 3. Многопоточное программирование на OpenMP (часть 3)
Семинар 3. Многопоточное программирование на OpenMP (часть 3)Семинар 3. Многопоточное программирование на OpenMP (часть 3)
Семинар 3. Многопоточное программирование на OpenMP (часть 3)
Mikhail Kurnosov
задания части С олейник
задания части С олейникзадания части С олейник
задания части С олейник
projekt92
условия, подпрограммы
условия, подпрограммыусловия, подпрограммы
условия, подпрограммы
������ �����
презентация 6
презентация 6презентация 6
презентация 6
EmmachkaBabul
Управление памятью в GO
Управление памятью в GOУправление памятью в GO
Управление памятью в GO
ssuserb5dd93
Обзор программных средств Майкрософт для графики и визуализации: коммерческой...
Обзор программных средств Майкрософт для графики и визуализации: коммерческой...Обзор программных средств Майкрософт для графики и визуализации: коммерческой...
Обзор программных средств Майкрософт для графики и визуализации: коммерческой...
Dmitri Soshnikov
Ошибка. Осознание, примирение, извлечение пользы. Вадим Макишвили
Ошибка. Осознание, примирение, извлечение пользы. Вадим МакишвилиОшибка. Осознание, примирение, извлечение пользы. Вадим Макишвили
Ошибка. Осознание, примирение, извлечение пользы. Вадим Макишвили
Транслируем.бел
Семинар 4. Многопоточное программирование на OpenMP (часть 4)
Семинар 4. Многопоточное программирование на OpenMP (часть 4)Семинар 4. Многопоточное программирование на OpenMP (часть 4)
Семинар 4. Многопоточное программирование на OpenMP (часть 4)
Mikhail Kurnosov
20110925 computer graphics_galinsky_lecture03_color
20110925 computer graphics_galinsky_lecture03_color20110925 computer graphics_galinsky_lecture03_color
20110925 computer graphics_galinsky_lecture03_color
Computer Science Club
трасировка Mpi приложений
трасировка Mpi приложенийтрасировка Mpi приложений
трасировка Mpi приложений
Michael Karpov
Лекция 6. Стандарт OpenMP
Лекция 6. Стандарт OpenMPЛекция 6. Стандарт OpenMP
Лекция 6. Стандарт OpenMP
Mikhail Kurnosov
Семинар 7. Многопоточное программирование на OpenMP (часть 7)
Семинар 7. Многопоточное программирование на OpenMP (часть 7)Семинар 7. Многопоточное программирование на OpenMP (часть 7)
Семинар 7. Многопоточное программирование на OpenMP (часть 7)
Mikhail Kurnosov
Алгоритмическая конструкция Повторение
Алгоритмическая конструкция ПовторениеАлгоритмическая конструкция Повторение
Алгоритмическая конструкция Повторение
Andrey Dolinin
Евгений Крутько — Опыт внедрения технологий параллельных вычислений для повыш...
Евгений Крутько — Опыт внедрения технологий параллельных вычислений для повыш...Евгений Крутько — Опыт внедрения технологий параллельных вычислений для повыш...
Евгений Крутько — Опыт внедрения технологий параллельных вычислений для повыш...
Yandex
Семинар 2. Многопоточное программирование на OpenMP (часть 2)
Семинар 2. Многопоточное программирование на OpenMP (часть 2)Семинар 2. Многопоточное программирование на OpenMP (часть 2)
Семинар 2. Многопоточное программирование на OpenMP (часть 2)
Mikhail Kurnosov
Семинар 3. Многопоточное программирование на OpenMP (часть 3)
Семинар 3. Многопоточное программирование на OpenMP (часть 3)Семинар 3. Многопоточное программирование на OpenMP (часть 3)
Семинар 3. Многопоточное программирование на OpenMP (часть 3)
Mikhail Kurnosov
задания части С олейник
задания части С олейникзадания части С олейник
задания части С олейник
projekt92
Управление памятью в GO
Управление памятью в GOУправление памятью в GO
Управление памятью в GO
ssuserb5dd93
Обзор программных средств Майкрософт для графики и визуализации: коммерческой...
Обзор программных средств Майкрософт для графики и визуализации: коммерческой...Обзор программных средств Майкрософт для графики и визуализации: коммерческой...
Обзор программных средств Майкрософт для графики и визуализации: коммерческой...
Dmitri Soshnikov
Ошибка. Осознание, примирение, извлечение пользы. Вадим Макишвили
Ошибка. Осознание, примирение, извлечение пользы. Вадим МакишвилиОшибка. Осознание, примирение, извлечение пользы. Вадим Макишвили
Ошибка. Осознание, примирение, извлечение пользы. Вадим Макишвили
Транслируем.бел
Семинар 4. Многопоточное программирование на OpenMP (часть 4)
Семинар 4. Многопоточное программирование на OpenMP (часть 4)Семинар 4. Многопоточное программирование на OpenMP (часть 4)
Семинар 4. Многопоточное программирование на OpenMP (часть 4)
Mikhail Kurnosov

Similar to графические возможности паскаль (20)

презентация к уроку
презентация к урокупрезентация к уроку
презентация к уроку
starsboy
методические указания по выполнению расчетно графической работы
методические указания по выполнению расчетно графической работыметодические указания по выполнению расчетно графической работы
методические указания по выполнению расчетно графической работы
Zhanna Kazakova
методические указания по выполнению расчетно графической работы
методические указания по выполнению расчетно графической работыметодические указания по выполнению расчетно графической работы
методические указания по выполнению расчетно графической работы
Zhanna Kazakova
методические указания по выполнению расчетно графической работы
методические указания по выполнению расчетно графической работыметодические указания по выполнению расчетно графической работы
методические указания по выполнению расчетно графической работы
Zhanna Kazakova
Matlab: Вычисление предела
Matlab: Вычисление пределаMatlab: Вычисление предела
Matlab: Вычисление предела
Dmitry Bulgakov
рисование точками 9 класс
рисование точками 9 классрисование точками 9 класс
рисование точками 9 класс
Usmanova Dilaram
PascalABC.NET 2015-2016
PascalABC.NET 2015-2016PascalABC.NET 2015-2016
PascalABC.NET 2015-2016
Михалкович Станислав
278660
278660278660
278660
degestive
МАПО Лаба №1
МАПО Лаба №1МАПО Лаба №1
МАПО Лаба №1
Олег Гудаев
Graph
GraphGraph
Graph
liza2209
Язык программирования PascalABC.NET 2015. Новые возможности
Язык программирования PascalABC.NET 2015. Новые возможностиЯзык программирования PascalABC.NET 2015. Новые возможности
Язык программирования PascalABC.NET 2015. Новые возможности
Михалкович Станислав
Опыт разработки статического анализатора кода
Опыт разработки статического анализатора кодаОпыт разработки статического анализатора кода
Опыт разработки статического анализатора кода
Andrey Karpov
Презентация на тему: Повторение курса информатики 7 класс
Презентация на тему: Повторение курса информатики 7 классПрезентация на тему: Повторение курса информатики 7 класс
Презентация на тему: Повторение курса информатики 7 класс
2berkas
задания с олейник
задания с олейникзадания с олейник
задания с олейник
guest1a21938
введение
введениевведение
введение
AndEdr
Canvas API как инструмент для работы сграфикой | Odessa Frontend Meetup #18
Canvas API как инструмент для работы сграфикой | Odessa Frontend Meetup #18Canvas API как инструмент для работы сграфикой | Odessa Frontend Meetup #18
Canvas API как инструмент для работы сграфикой | Odessa Frontend Meetup #18
OdessaFrontend
паскаль. часть1
паскаль. часть1паскаль. часть1
паскаль. часть1
igorm9so
презентация к уроку
презентация к урокупрезентация к уроку
презентация к уроку
starsboy
методические указания по выполнению расчетно графической работы
методические указания по выполнению расчетно графической работыметодические указания по выполнению расчетно графической работы
методические указания по выполнению расчетно графической работы
Zhanna Kazakova
методические указания по выполнению расчетно графической работы
методические указания по выполнению расчетно графической работыметодические указания по выполнению расчетно графической работы
методические указания по выполнению расчетно графической работы
Zhanna Kazakova
методические указания по выполнению расчетно графической работы
методические указания по выполнению расчетно графической работыметодические указания по выполнению расчетно графической работы
методические указания по выполнению расчетно графической работы
Zhanna Kazakova
Matlab: Вычисление предела
Matlab: Вычисление пределаMatlab: Вычисление предела
Matlab: Вычисление предела
Dmitry Bulgakov
рисование точками 9 класс
рисование точками 9 классрисование точками 9 класс
рисование точками 9 класс
Usmanova Dilaram
Язык программирования PascalABC.NET 2015. Новые возможности
Язык программирования PascalABC.NET 2015. Новые возможностиЯзык программирования PascalABC.NET 2015. Новые возможности
Язык программирования PascalABC.NET 2015. Новые возможности
Михалкович Станислав
Опыт разработки статического анализатора кода
Опыт разработки статического анализатора кодаОпыт разработки статического анализатора кода
Опыт разработки статического анализатора кода
Andrey Karpov
Презентация на тему: Повторение курса информатики 7 класс
Презентация на тему: Повторение курса информатики 7 классПрезентация на тему: Повторение курса информатики 7 класс
Презентация на тему: Повторение курса информатики 7 класс
2berkas
задания с олейник
задания с олейникзадания с олейник
задания с олейник
guest1a21938
введение
введениевведение
введение
AndEdr
Canvas API как инструмент для работы сграфикой | Odessa Frontend Meetup #18
Canvas API как инструмент для работы сграфикой | Odessa Frontend Meetup #18Canvas API как инструмент для работы сграфикой | Odessa Frontend Meetup #18
Canvas API как инструмент для работы сграфикой | Odessa Frontend Meetup #18
OdessaFrontend
паскаль. часть1
паскаль. часть1паскаль. часть1
паскаль. часть1
igorm9so

More from Irina Trofimovich (12)

графические возможности паскаль
графические возможности паскальграфические возможности паскаль
графические возможности паскаль
Irina Trofimovich
требования к оформлению презентаций
требования к оформлению презентацийтребования к оформлению презентаций
требования к оформлению презентаций
Irina Trofimovich
требования к оформлению презентаций
требования к оформлению презентацийтребования к оформлению презентаций
требования к оформлению презентаций
Irina Trofimovich
функциональные блоки компьютера
функциональные блоки компьютерафункциональные блоки компьютера
функциональные блоки компьютера
Irina Trofimovich
функциональные блоки компьютера
функциональные блоки компьютерафункциональные блоки компьютера
функциональные блоки компьютера
Irina Trofimovich
правила поведения в компьютерном классе информация
правила поведения в компьютерном классе информацияправила поведения в компьютерном классе информация
правила поведения в компьютерном классе информация
Irina Trofimovich
экономия и бережливость 1
экономия и бережливость 1экономия и бережливость 1
экономия и бережливость 1
Irina Trofimovich
графические возможности паскаль
графические возможности паскальграфические возможности паскаль
графические возможности паскаль
Irina Trofimovich
требования к оформлению презентаций
требования к оформлению презентацийтребования к оформлению презентаций
требования к оформлению презентаций
Irina Trofimovich
требования к оформлению презентаций
требования к оформлению презентацийтребования к оформлению презентаций
требования к оформлению презентаций
Irina Trofimovich
функциональные блоки компьютера
функциональные блоки компьютерафункциональные блоки компьютера
функциональные блоки компьютера
Irina Trofimovich
функциональные блоки компьютера
функциональные блоки компьютерафункциональные блоки компьютера
функциональные блоки компьютера
Irina Trofimovich
правила поведения в компьютерном классе информация
правила поведения в компьютерном классе информацияправила поведения в компьютерном классе информация
правила поведения в компьютерном классе информация
Irina Trofimovich
экономия и бережливость 1
экономия и бережливость 1экономия и бережливость 1
экономия и бережливость 1
Irina Trofimovich

графические возможности паскаль