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
Текущей кистью закрашиваются все замкнутые фигуры, контур фигур рисуется текущим пером. Чтобы нарисовать не закрашенную фигуру, используйте 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);
setBrushColor (Clgreen); // корпус
rectangle (50,350,750,500);
setBrushColor (ClYellow); // фары
rectangle (749,375,764,400);
setBrushColor (ClRed);
rectangle (35,375,51,400);
setBrushColor (ClLightGray); // бампер
RoundRect (725,450,775,475,10,10);
RoundRect (25,450,75,475,10,10);
SetPenStyle (psSolid); // двери
Вильям Л Саймон , Вильям Саймон , Наталья Владимировна Макеева , Нора Робертс , Юрий Викторович Щербатых
Зарубежная компьютерная, околокомпьютерная литература / ОС и Сети, интернет / Короткие любовные романы / Психология / Прочая справочная литература / Образование и наука / Книги по IT / Словари и Энциклопедии