Презентация "Графика в Pascal ABC.NET"
Подписи к слайдам:
- Для работы в графическом режиме необходимо подключение модуля GraphABC.
- Первой инструкцией программы должна быть инструкция uses GraphABC;
Графический режим
- Графический экран
Центр координат
Управление окном
SetWindowSize(w,h); устанавливает размеры графического окна
SetWindowWidth(w); устанавливает ширину графического окна
SetWindowHeight(h); устанавливает высоту графического окна
SetWindowTitle(‘Заголовок'); меняет заголовок окна
ClearWindow; очищает графическое окно белым цветом
ClearWindow(color); очищает графическое окно указанным цветом.
Очистка графического окна
Цвет зеленых денег
uses GraphABC;
begin
ClearWindow;
ClearWindow (clMoneyGreen);
end.
Графические примитивы
Точка
Линия
Прямоугольник
Окружность
Эллипс
Сектор
Дуга
Точка
SetPixel(x,y,color); закрашивает один пиксел с координатами (x,y) цветом color
uses GraphABC;
begin
SetPixel(300,200,clred);
end.
Линии
LineTo(x,y); рисует отрезок от текущего положения пера до точки (x,y) координаты пера при этом также становятся равными (x,y)
x,y
uses GraphABC;
Begin
LineTo(300,200);
end.
Линии
MoveTo(x,y); устанавливает текущую позицию рисования в точку (x,y)
uses GraphABC;
Begin
MoveTo(150,50);
LineTo(500,250);
end.
x1,y1
x2,y2
Line(x1,y1,x2,y2); рисует отрезок с началом в точке (x1,y1) и концом в точке (x2,y2)
uses GraphABC;
begin
line(100,50,500,250);
end.
x1,y1
x2,y2
Линии
Используемые цвета
clAquamarine |
clAzure |
clBeige |
clBisque |
clBlack |
clBlanchedAlmond |
clBlue |
clBlueViolet |
clBrown |
clBurlyWood |
clCadetBlue |
clChartreuse |
clChocolate |
clCoral |
clCornflowerBlue |
clCornsilk |
clCrimson |
clCyan |
clDarkBlue |
clDarkCyan |
clDarkGoldenrod |
clDarkGray |
clDarkGreen |
clDarkKhaki |
clDarkMagenta |
clDarkOliveGreen |
clDarkOrange |
clDarkOrchid |
clDarkRed |
clDarkTurquoise |
clDarkSeaGreen |
clDarkSlateBlue |
clDarkSlateGray |
clDarkViolet |
clDeepPink |
clDarkSalmon |
clDeepSkyBlue |
clDimGray |
clDodgerBlue |
Используемые цвета
clRandom – случайный цвет из всей палитры цветов Паскаля
clFuchsia |
clGainsboro |
clGhostWhite |
clGold |
clGoldenrod |
clGray |
clGreen |
clGreenYellow |
clHoneydew |
clHotPink |
clIndianRed |
clIndigo |
clIvory |
clKhaki |
clLavender |
clLavenderBlush |
clLawnGreen |
clLemonChiffon |
clLightBlue |
clLightCoral |
clLightCyan |
clLightGray |
clLightGreen |
clLightGoldenrodYellow |
clLightPink |
clLightSalmon |
clLightSeaGreen |
clLightSkyBlue |
clLightSlateGray |
clLightSteelBlue |
clLightYellow |
clLime |
clLimeGreen |
clLinen |
clMagenta |
clMaroon |
clMediumBlue |
clMediumOrchid |
clMediumAquamarine |
clMediumPurple |
clMediumSeaGreen |
clMediumSlateBlue |
clMoneyGreen |
clPlum |
clMistyRose |
Цвет линии
SetPenColor(color); устанавливает цвет пера, задаваемый параметром color
uses GraphABC;
begin
SetPenColor(clred);
line(30,30,400,350);
end.
Пунктирная линия
SetPenStyle(<…>); устанавливает стиль пера
uses GraphABC;
begin
Setpencolor(clred);
SetPenWidth(4);
SetPenStyle(psSolid);{Сплошное}
Line(10,75,350,75);
SetPenStyle(psDash);{Штриховое}
Line(10,100,350,100);
SetPenStyle(psDot); {Пунктирное}
Line(10,125,350,125);
SetPenStyle(psDashDot); {Штрихпунктирное}
Line(10,150,350,150);
SetPenStyle(psDashDotDot); {Альтернативное штрихунктирное}
Line(10,175,350,175);
end.
Толщина линии
SetPenWidth(n); устанавливает ширину (толщину) пера, равную n пикселям
uses GraphABC;
begin
setpenwidth(20);
setpencolor(clred);
line(30,30,400,350);
end.
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);
Прямоугольник
Rectangle(x1,y1,x2,y2); рисует прямоугольник, заданный координатами противоположных вершин (x1,y1) и (x2,y2)
uses GraphABC;
begin
Rectangle(50,50,200,200);
end.
x1,y1
x2,y2
Заливка цветом
FloodFill(x,y,color); заливает область одного цвета цветом color, начиная с точки (x,y)
uses GraphABC;
begin
Rectangle(50,50,200,200);
FloodFill(100,100,clBlue);
end.
x1,y1
x2,y2
Заливка кистью
SetBrushColor(color); устанавливает цвет кисти, распространяется на замкнутый контур, описание которого следует за процедурой установки цвета кисти
uses GraphABC;
Begin
SetBrushColor(clGreen);
Rectangle(50,50,300,300);
end.
Заливка кистью
SetBrushStyle(<…>); устанавливает тип стиля кисти
bsSolid Сплошная кисть (по умолчанию) |
bsClear Прозрачная кисть |
bsHatch Штриховая кисть |
bsGradient Градиентная кисть |
Заливка кистью
По умолчанию задается стиль 0 – сплошная заливка цветом.
Стили штриховки кисти задаются перечислимым типом SetBrushHatch(<…>); Для стилей штриховки кисти определены константы:
uses GraphABC;
Begin
SetBrushStyle(bsHatch);
SetBrushHatch(bhHorizontal);
Rectangle(10,10,100,100);
…
end.
Заливка кистью
По умолчанию задается стиль 0 – сплошная заливка цветом.
Для штриховой кисти дополнительно можно устанавливать свойство: SetHatchBrushBackgroundColor(clGold);
uses GraphABC;
Begin
SetBrushStyle(bsHatch);
SetHatchBrushBackgroundColor(clGold);
SetBrushColor(clCoral);
SetBrushHatch(bhHorizontal);
Rectangle(110,10,200,100);
end.
uses GraphABC;
begin
SetPenColor(clred);
SetPenWidth(20);
Rectangle(50,50,200,200);
FloodFill(100,100,clBlue);
end.
Цвет и толщина контура
SetPenWidth(w); SetPenColor(color);
Circle(x,y,r); рисует окружность с центром в точке (x,y) и радиусом r
Окружность
uses GraphABC;
begin
Circle(500,200,100);
FloodFill(500,200,clred);
end.
x1,y1
r
Эллипс
Ellipse(x1,y1,x2,y2); рисует эллипс, заданный своим описанным прямоугольником с координатами противоположных вершин (x1,y1) и (x2,y2).
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
*
Дуга окружности
Arc(x,y,r,a1,a2); рисует дугу окружности с центром в точке (x,y) и радиусом r, заключенной между двумя лучами, образующими углы a1 и a2 с осью OX (a1 и a2 – вещественные, задаются в градусах и отсчитываются против часовой стрелки)
uses GraphABC;
Begin
SetPenWidth(10);
Arc(300,250,150,45,135);
end.
x,y
r
Pie(x,y,r,a1,a2); рисует сектор окружности, ограниченный дугой (параметры процедуры имеют тот же смысл, что и в процедуре Arc)
Сектор
uses GraphABC;
begin
Pie(300,200,100,0,90);
FloodFill(300+10,200-10, clAquamarine);
end.
Вывод текста
TextOut(x,y,’строка’); выводит строку текста в позицию (x,y) (точка (x,y) задает верхний левый угол прямоугольника, который будет содержать текст)
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 New Roman, Arial и Courier New Наименование шрифта можно набирать без учета регистра
Например:
SetFontName(‘Times New Roman’);
Стиль шрифта
Задается именованными константами:
fsNormal – обычный
fsBold – жирный
fsItalic – наклонный
fsBoldItalic – жирный наклонный
fsUnderline – подчеркнутый
fsBoldUnderline – жирный подчеркнутый
fsItalicUnderline – наклонный подчеркнутый
fsBoldItalicUnderline – жирный наклонный подчеркнутый
uses GraphABC;
Begin
SetFontName(‘Arial’);
SetFontSize(20);
SetFontColor(clRed);
TextOut(10,10,‘обычный');
SetFontStyle(fsItalic);
SetFontColor(clBlue);
TextOut(10,50,‘наклонный');
SetFontStyle(fsBold);
SetFontColor(clRandom);
TextOut(10,90,‘жирный');
SetFontStyle(fsUnderline);
SetFontColor(clRandom);
TextOut(10,130,‘подчеркнутый');
SetFontStyle(fsBoldItalicUnderline);
SetFontColor(clRandom);
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) – соответствует черному цвету.
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(250+50,50+50,clYellow);
end.
Например:
Информатика - еще материалы к урокам:
- Презентация "Интегрированная среда разработки приложений Lazarus"
- Презентация "Планирование тестовых испытаний"
- Презентация "Объявление переменных и типы данных в C++"
- Презентация "Разработка сайта для ООО «Агентство недвижимости «Гарант»"
- Презентация "Коллекции в Java"
- Презентация "Технологии доступа к данным в среде Visual Studio 2010"