Создание графических изображений в Pascal ABC
Модуль GraphABC
Для работы в графическом режиме необходимо подключение модуля GraphABC .
480 точек
Графический режим
Графический экран Pas с alABC (по умолчанию) содержит 64 0 точек по горизонтали и 4 80 точек по вертикали.
6 4 0 точек
Начало отсчета – левый верхний угол экрана
x
Y
Управление размером экрана (окна)
SetWindowWidth(w) — устанавливает ширину графического окна
SetWindowHeight(h) — устанавливает высоту графического окна
Очистка графического окна
ClearWindow; - очищает графическое окно белым цветом.
ClearWindow(color); - очищает графическое окно указанным
цветом.
1. Очистка графического окна
program clear;
uses GraphABC;
begin
ClearWindow ;
ClearWindow (cl Green );
end.
Цвет окна: зелёный
Графические примитивы
- Точка
- Линия
- Прямоугольник
- Окружность
- Эллипс
- Сектор
- Дуга
2. Точка
SetPixel(x,y,color ) - Закрашивает один пиксел с координатами (x,y) цветом color
program tochka ;
uses GraphABC;
begin
SetPixel(300,200,clred);
end.
3. Линия
Line(x1,y1,x2,y2 ) - рисует отрезок с началом в точке (x1,y1) и концом
в точке (x2,y2).
Program liniay;
uses GraphABC;
begin
line(100,50,500,250) ;
end.
x1,y1
x2,y2
Используемые цвета
clBlack – черный clPurple – фиолетовый clWhite – белый clMaroon – темно-красный clRed – красный clNavy – темно-синий clGreen – зеленый clBrown – коричневый clBlue – синий clSkyBlue – голубой clYellow – желтый clCream – кремовый
clOlive – оливковый clFuchsia – сиреневый clTeal – сине-зеленый clGray – темно-серый clLime – ярко-зеленый clMoneyGreen – цвет зеленых денег clLtGray – светло-серый clDkGray – темно-серый clMedGray – серый clSilver – серебряный
cl Random – случайный цвет
из всей палитры цветов Паскаля
4. Цвет линии
SetPenColor(color ) - устанавливает цвет пера, задаваемый параметром color .
Program liniay;
uses GraphABC;
begin
setpencolor(clred);
line( 30,30 , 400 , 350 );
end.
5. Толщина линии
SetPenWidth(n ) - устанавливает ширину ( толщину ) пера, равную n пикселям.
Program liniay;
uses GraphABC;
begin
setpenwidth(20);
setpencolor(clred);
line( 30,30 , 400 , 350 );
end.
6. Треугольник
Рисуется процедурой
Line(x1,y1,x2,y2 )
Program treugolnik;
uses GraphABC;
begin
setpenwidth(20);
setpencolor(clred);
line(300,100,500,300);
line(500,300,100,300);
line(100,300,300,100);
floodfill(300,200,clgreen);
end.
f lood f ill(х,у,c), (х,у) – координата точки внутренней области фигуры, c – цвет заливки.
7. Прямоугольник
Rectangle(x1,y1,x2,y2 ) - рисует прямоугольник, заданный координатами противоположных вершин (x1,y1) и (x2,y2 ).
Program pryamougolnik;
uses GraphABC;
Begin
Rectangle(50,50,200,200);
end.
x1,y1
x2,y2
8. Заливка цветом
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
9. Заливка кистью
SetBrushColor( color ) - устанавливает цвет кисти. Заливка кистью распространяется на замкнутый контур , описание которого следует за процедурой установки цвета кисти.
Program zalivka _kist ;
uses GraphABC;
Begin
SetBrushColor(cl Green );
Rectangle(50,50,300,300); end.
10. Цвет и толщина контура
Задаются процедурами SetPenColor(color ) ; SetPenWidth(w )
Program pryamougolnik;
uses GraphABC;
begin
SetPenColor(clred);
SetPenWidth(20);
Rectangle(50,50,200,200);
FloodFill(100,100,clBlue);
end.
11. Окружность
Circle(x,y,r ) - рисует окружность с центром в точке (x,y) и радиусом r .
Program krug;
uses GraphABC;
begin
Circle( 3 00,200,100);
FloodFill( 300 , 200 ,clred);
end.
r
x1,y1
12. Эллипс
Ellipse(x1,y1,x2,y2 ) - рисует эллипс, заданный своим описанным прямоугольником с координатами противоположных вершин (x1,y1) и (x2,y2).
Program oval;
uses GraphABC;
B egin
Ellipse(50,50,200,350);
FloodFill(100,100,clred);
Ellipse(250,150,550,300);
FloodFill( 300 , 200 ,clBlue);
end.
x1,y1
x1,y1
x1,y1
x 2 ,y 2
x 2 ,y 2
13. Дуга окружности
Arc(x,y,r,a1,a2 ) - Рисует дугу окружности с центром в точке (x,y) и радиусом r, заключенной между двумя лучами, образующими углы a1 и a2 с осью OX (a1 и a2 – вещественные, задаются в градусах и отсчитываются против часовой стрелки).
Program duga;
uses GraphABC;
Begin
SetPenWidth(10);
Arc(300,2 5 0,150,45,135);
end.
r
x,y
14. Сектор
Pie(x,y,r,a1,a2 ) - рисует сектор окружности, ограниченный дугой (параметры процедуры имеют тот же смысл, что и в процедуре Arc).
Program sector;
uses GraphABC;
begin
Pie(300,200,100,0,90);
FloodFill( 350 , 180 ,cl SkyBlue );
end.
15. Вывод текста в графическое окно
TextOut(x,y, ’ строка ’ ); - выводит строку текста в позицию (x,y) (точка (x,y) задает верхний левый угол прямоугольника, который будет содержать текст).
Program text;
uses GraphABC;
begin
TextOut(100,30,'Квадрат');
Rectangle(50,50,200,200);
FloodFill(55,55,clBlue);
end.
Действия со шрифтом
SetFontName( ‘ name ’ ) - устанавливает наименование шрифта.
SetFontColor(color ) - устанавливает цвет шрифта.
SetFontSize(sz) - устанавливает размер шрифта в пунктах.
SetFontStyle(fs) - устанавливает стиль шрифта.
Название шрифта
По умолчанию установлен шрифт, имеющий наименование MS Sans Serif.
Наиболее распространенные шрифты – это Times, Arial и Courier New . Наименование шрифта можно набирать без учета регистра.
Пример:
SetFont Name ( ‘Times’ );
Стиль шрифта
Задается именованными константами:
fsNormal – обычный;
fsBold – жирный;
fsItalic – наклонный;
fsBoldItalic – жирный наклонный;
fsUnderline – подчеркнутый;
fsBoldUnderline – жирный подчеркнутый;
fsItalicUnderline – наклонный подчеркнутый;
fsBoldItalicUnderline – жирный наклонный подчеркнутый.
16. Например: Стили Шрифта
Program text;
uses GraphABC;
Begin
SetFont Name ( 'Arial' );
SetFontSize(20);
SetFontColor(clRed);
TextOut(10,10, 'обычный');
SetFontStyle(fsItalic);
SetFontColor(clBlue);
TextOut(10,50, 'наклонный');
SetFontStyle(fsBold);
SetFontColor( cl Random);
TextOut(10,90, 'жирный');
SetFontStyle(fsUnderline);
SetFontColor( cl Random);
TextOut(10,130, 'подчеркнутый');
SetFontStyle(fsBoldItalicUnderline);
SetFontColor( cl Random);
TextOut(10,170, ' жирный, наклонный, подчеркнутый');
end.
Используемые цвета
Цвет можно задавать и с помощью функции RGB(r,g,b) где r, g и b – целые числа в диапазоне от 0 до 255.
Функция возвращает целое значение, являющееся кодом цвета, который содержит красную, зеленую и синюю составляющие с интенсивностями r, g и b соответственно (0 соответствует минимальной интенсивности, 255 – максимальной).
RGB(255,255,255) – соответствует белому цвету.
RGB(0,0,0) – соответствует черному цвету.
17. Например : Цветовая палитра.
Program color ;
uses GraphABC;
begin
Clearwindow(rgb(200,150,250));
TextOut(93,30,' Квадрат ');
Rectangle(50,50,200,200);
FloodFill(55,55,clRed);
TextOut(275,30,' Эллипс');
Ellipse(250,50,350,200); FloodFill( 300 , 100 ,clYellow);
end.
Задание 1: в тетради нарисуйте оси координат (масштаб: в 1 клетке -10 точек.)
По представленной программе нарисуйте в тетради Дом – в
соответствии с координатами, заданными в программе)
Задание 2: в тетради нарисуйте оси координат
(масштаб: в 1 клетке -20 точек.)
По представленной программе нарисуйте в тетради
Снеговика – в соответствии с координатами,
заданными в программе)
Задание 3: в тетради нарисуйте оси координат (масштаб: в 1 клетке -10 точек.)
Начертите свои: Фамилию, Имя, Отчество.
Напишите программу.
Домашнее задание:
Нарисовать в тетради по координатам
Новогоднюю ёлку и составить программу.

Создание графических изображений в Pascal ABC (5.14 MB)

