Язык программирования ABC PASCAL - [5]
> Line(0,WindowHeight, WindowWidth, 0)
>end.
Процедура SetWindowSize устанавливает размер графического окна 256×256 пикселей.
Процедура SetPenColor определяет цвет рисования линий. Функция RGB возвращает цвет, заданный своими Red, Green, Blue компонентами. Процедура Line рисует линию из точки, заданной первой парой координат, в точку, заданную второй парой координат. Функции WindowWidth и WindowHeight возвращают текущие значения ширины и высоты графического окна (следовательно, если вы поменяете размер окна в процедуре SetWindowSize, то линии все равно будут проводиться из угла в угол).
Оконные координаты
* Координата x растет слева на право от 0 до значения WindowWidth
* Координата y растет сверху вниз от 0 до значения WindowHeight
- 11 -
Задание цвета
Как известно восприятие цвета у человека трехцветное. Основываясь на этом, в графических библиотеках используется именно такое трехкомпонентное представление цвета. Цвет задается с помощью функции rgb(Red, Green,Blue)
Здесь
* Red – число от 0 до 255, соответствующее интенсивности красной компоненты
* Green – число от 0 до 255, соответствующее интенсивности зеленой компоненты
* Blue – число от 0 до 255, соответствующее интенсивности синей компоненты
Функция формирует целое число (integer), которое может использоваться везде в графической библиотеке, где требуется указание цвета. Есть несколько предопределенных цветов:
clBlack – черный | clCream – кремовый |
clPurple – фиолетовый | clAqua – бирюзовый |
clWhite – белый | clOlive – оливковый |
clMaroon – темно-красный | clFuchsia – сиреневый |
clRed – красный | clTeal – сине-зеленый |
clNavy – темно-синий | clGray – серый |
clGreen – зеленый | clLime – ярко-зеленый |
clBrown – коричневый | clLightGray – светло-серый |
clBlue – синий | clMoneyGreen – цвет зеленых денег |
clSkyBlue – голубой | clDarkGray – темно-серый |
clYellow – желтый |
Задание стиля и цвета пера
* SetPenColor(цвет) – устанавливает цвет пера, задаваемый параметром color.
* SetPenWidth(ширина) – устанавливает ширину пера.
* SetPenStyle(стиль) – устанавливает стиль пера (сплошной, пунктир и т.п.), возможные значения указаны в таблице (стиль применим только к ширине пера 1 пиксел)
psSolid | psDash | psDashDot |
psClear | psDot | psDashDotDot |
Текущее перо используется для рисования линий, прямоугольников, ломаных, окружностей, эллипсов, дуг и т.п.
Пример:
Program Gr02;
Uses GraphABC;
Var i : integer;
begin
SetWindowSize(512,512);
SetPenStyle(psDash);
SetBrushStyle(bsClear);
Circle (256,256,WindowHeight div 2);
end.
- 12 -
Задание стиля и цвета кисти
* SetBrushColor(цвет) – устанавливает цвет кисти
* SetBrushPicture(имя файла) – устанавливает в качестве образца для закраски кистью образец, хранящийся в файле, при этом текущий цвет кисти при закраске игнорируется.
* ClearBrushPicture – очищает рисунок-образец, выбранный для кисти.
* SetBrushStyle(стиль) – устанавливает стиль кисти, задаваемый параметром bs.
Возможные стили кисти:
bsSolid bsClear bsCross bsDiagCross bsHorizontal bsBDiagonal bsVertical bsFDiagonal
Текущей кистью закрашиваются все замкнутые фигуры, контур фигур рисуется текущим пером. Чтобы нарисовать не закрашенную фигуру, используйте SetBrushColor(bsClear).
Пример:
Program Gr03;
Uses GraphABC;
Var i,j : integer;
begin
SetWindowSize(512,512);
SetBrushColor(rgb(128,0,255));
SetBrushStyle(bsDiagCross);
Rectangle(10,10,WindowWidth-10,WindowHeight-10);
end.
Некоторые графические примитивы[6]
* Line(x1, y1, x2, y2) – рисует отрезок с началом в точке (x1,y1) и концом в точке (x2,y2).
* Circle(x,y,r) – рисует окружность с центром в точке (x,y) и радиусом r.
* Ellipse(x1, y1, x2, y2) – рисует эллипс, заданный своим описанным прямоугольником с координатами противоположных вершин (x1,y1) и (x2,y2).
* Rectangle(x 1,y1,x2,y2) – рисует прямоугольник, заданный координатами противоположных вершин (x1,y1) и (x2,y2).
* RoundRect(x 1,y1,x2,y2,w,h) – рисует прямоугольник со скругленными краями; (x1,y1) и (x2,y2) задают пару противоположных вершин, а w и h – ширину и высоту эллипса, используемого для скругления краев.
* Arc(x,y, r, a1,a2) – рисует дугу окружности с центром в точке (x,y) и радиусом r, заключенной между двумя лучами, образующими углы a1 и a2 с осью OX (a1 и a2 – вещественные, задаются в градусах и отсчитываются против часовой стрелки).
* Pie(x,y,r,a1,a2) – рисует сектор окружности, ограниченный дугой (параметры процедуры имеют тот же смысл, что и в процедуре Arc).
* Chord(x,y, r, a1,a2) – рисует фигуру, ограниченную дугой окружности и отрезком, соединяющим ее концы (параметры процедуры имеют тот же смысл, что и в процедуре Arc).
* FloodFill(x,y,color) – закрашивает область одного цвета, начиная с точки (x,y) цветом color.
Задание:
Напишите программу, использующую не менее трех процедур рисования, которая рисовала бы несложный рисунок (домик, автомобиль, и т.п.)
- 13 -
Пример решения задания
>Program avto;
>uses graphABC;
>var i : integer;
>begin
> SetWindowSize (800,600);
> SetPenStyle (psClear); // верхняя часть автомобиля
> setBrushColor (Clgreen);
> rectangle (250,250,550,351);
> setBrushColor (ClAqua); // окна
> rectangle (255,255,395,345);
> rectangle (405,255,545,345);
Книга Н. Смелзера «Социология» представляет курс лекций по общей социологии для студентов высших учебных заведений.Достоинство книги в том, что она написана максимально доступным языком и полностью соответствует содержанию курса «Социология», как он отражён в государственном стандарте, а потому данное учебное пособие может быть базовым по этому курсу.Книга Смелзера также предназначена для широкого круга читателей и, в первую очередь, для предпринимателей и руководителей.На русском языке это уже второе издание.
Официант, бармен, сомелье – это популярные сегодня профессии. Многие выбирают их на всю жизнь, не меньшее число рассматривает работу в баре или ресторане как удобный приработок.Действительно, график работы прекрасно совмещается с графиком учебы и работы на неполный рабочий день. Текучесть кадров в ресторанном бизнесе высокая, и работу найти достаточно просто. Заработок также вполне приличный.Однако где приобрести знания и навыки? Нет ничего дешевле, чем приобрести толковый учебник, каковым и является эта книга.
В учебнике, написанном коллективом преподавателей РГПУ им. Герцена под руководством Л. А. Михайлова – декана факультета безопасности жизнедеятельности, лауреата премии Президента РФ, представлены новейшие концепции всех естественных наук: биологии, генетики, физики, химии, математики, информатики, биохимии, геологии, антропологии и других. В книге раскрываются социальные последствия новых научных открытий, даются современные технологии обучения в области концепций современного естествознания.Учебник полностью соответствует Государственному образовательному стандарту и имеет гриф УМО.
Объектом изучения данного курса лекций является фирма как единая система, которая функционирует в условиях рыночной экономики. Рассматриваются организационно-правовые формы фирм, основные условия обеспечения экономической стабильности фирмы, принципы ее управления и организационная структура, порядок обеспечения кадрами, модель функционирования фирмы в рыночной среде. Описана комплексная система обеспечения ресурсами (трудовые ресурсы, основные и оборотные средства), система показателей для оценки эффективности их применения.Этот курс лекций предназначен для студентов, аспирантов и преподавателей экономических факультетов университетов и экономических вузов.
Конспект лекций предназначен для подготовки студентов медицинских вузов к сдаче экзаменов.Книга включает в себя полный курс лекций по медицинской статистике, написана доступным языком и будет незаменимым помощником для тех, кто желает быстро подготовиться к экзамену и успешно его сдать.Конспект лекций будет полезен не только студентам, но и преподавателям.
Конспект лекций, составленный в соответствии с Государственным образовательным стандартом высшего образования, поможет систематизировать полученные ранее знания и успешно сдать экзамен или зачет по дисциплине «Коммерческое право».Издание предназначено для студентов, преподавателей и аспирантов юридических вузов и факультетов.