Как сделать ромб в паскале abc

Обновлено: 08.07.2024

Система ABC Pascal обладает великолепной графической библиотекой. Для ее модключения после заголовка программы необходимо написать Uses GraphABC. Модуль GraphABC содержит константы, типы, процедуры и функции для рисования в графическом окне. Они подразделяются на несколько групп:

* Действия с кистью

* Действия с цветом

* Действия со шрифтом

* Действия с точками и прямоугольниками

* Действия с рисунками

* Действия с пером

* Действия с графическим окном

Рассмотрим сразу пример:

Program Gr01;

Uses GraphABC;

begin

Line(0,0, WindowWidth, WindowHeight)

Line(0,WindowHeight, WindowWidth, 0)

end.

Процедура SetWindowSize устанавливает размер графического окна 256?256 пикселей.

Процедура SetPenColor определяет цвет рисования линий. Функция RGB возвращает цвет, заданный своими Red, Green, Blue компонентами. Процедура Line рисует линию из точки, заданной первой парой координат, в точку, заданную второй парой координат. Функции WindowWidth и WindowHeight возвращают текущие значения ширины и высоты графического окна (следовательно, если вы поменяете размер окна в процедуре SetWindowSize, то линии все равно будут проводиться из угла в угол).

* Координата x растет слева на право от 0 до значения WindowWidth

* Координата y растет сверху вниз от 0 до значения WindowHeight


Как известно восприятие цвета у человека трехцветное. Основываясь на этом, в графических библиотеках используется именно такое трехкомпонентное представление цвета. Цвет задается с помощью функции rgb(Red, Green,Blue)

* Red – число от 0 до 255, соответствующее интенсивности красной компоненты

* Green – число от 0 до 255, соответствующее интенсивности зеленой компоненты

* Blue – число от 0 до 255, соответствующее интенсивности синей компоненты

Функция формирует целое число (integer), которое может использоваться везде в графической библиотеке, где требуется указание цвета. Есть несколько предопределенных цветов:

clMoneyGreen – цвет зеленых денег

Задание стиля и цвета пера

* SetPenColor(цвет) – устанавливает цвет пера, задаваемый параметром color.

* SetPenWidth(ширина) – устанавливает ширину пера.

* SetPenStyle(стиль) – устанавливает стиль пера (сплошной, пунктир и т.п.), возможные значения указаны в таблице (стиль применим только к ширине пера 1 пиксел)

Текущее перо используется для рисования линий, прямоугольников, ломаных, окружностей, эллипсов, дуг и т.п.

Uses GraphABC;

begin

Circle (256,256,WindowHeight div 2);

end.

Задание стиля и цвета кисти

* SetBrushColor(цвет) – устанавливает цвет кисти

* SetBrushPicture(имя файла) – устанавливает в качестве образца для закраски кистью образец, хранящийся в файле, при этом текущий цвет кисти при закраске игнорируется.

* ClearBrushPicture – очищает рисунок-образец, выбранный для кисти.

* SetBrushStyle(стиль) – устанавливает стиль кисти, задаваемый параметром bs.

Возможные стили кисти:

bsSolid bsClear bsCross bsDiagCross bsHorizontal bsBDiagonal bsVertical bsFDiagonal

Текущей кистью закрашиваются все замкнутые фигуры, контур фигур рисуется текущим пером. Чтобы нарисовать не закрашенную фигуру, используйте SetBrushColor(bsClear).

Program Gr03;

Uses GraphABC;

Var i,j : integer;

begin

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.

Напишите программу, использующую не менее трех процедур рисования, которая рисовала бы несложный рисунок (домик, автомобиль, и т.п.)

Пример решения задания

Program avto;

var i : integer;

begin

SetPenStyle (psClear); // верхняя часть автомобиля

setBrushColor (ClAqua); // окна

setBrushColor (Clgreen); // корпус

setBrushColor (ClYellow); // фары

setBrushColor (ClLightGray); // бампер

SetPenStyle (psSolid); // двери

setBrushColor (ClBlack); // колеса

end.


Графический цвет

Графический цвет Графический цвет — это обычное графическое изображение, которым закрашиваются линии или заливки. Таким графическим изображением может быть содержимое как обычного графического файла, так и другой канвы.Графический цвет создают в три этапа.Первый этап

Графический цвет

Графический цвет Графический цвет — это обычное графическое изображение, которым закрашиваются линии или заливки. Таким графическим изображением может быть содержи- мое как обычного графического файла, так и другой канвы.Графический цвет создают в три этапа.Первый

1.3. Графический интерфейс и консоль

Графический интерфейс

Графический интерфейс Отличие всех программ, работающих в операционной среде Windows, – это графический настраиваемый интерфейс. Это относится и к программам Microsoft Office. Пользователь в определенных пределах сам может выбирать вид, размер и функции рабочих окон и

Графический редактор

Графический редактор Теперь, когда мы ознакомились с графическими методами, настало время написать простейший графический редактор с минимальными возможностями. В этом приложении можно будет рисовать при помощи стилуса линии, а также прямые цветные линии из трех

1.2.1 Графический контекст

1.2.1 Графический контекст Прежде чем начать работу с графикой, программа должна выделить себе специальную структуру данных и получить указатель на нее. Эта структура называется графическим контекстом (Graphic Context (GC)). Указатель на GC используется в качестве одного из

Модуль GraphABC

Модуль GraphABC Модуль GraphABC представляет собой простую графическую библиотеку и предназначен для создания несобытийных графических и анимационных программ в процедурном и частично в объектном стиле. Рисование осуществляется в специальном графическом окне, возможность

Типы и переменные модуля GraphABC

Типы и переменные модуля GraphABC Color = System.Drawing.Color; Тип цвета Point = System.Drawing.Point; Тип точки GraphABCException = class(Exception) end; Тип исключения GraphABC RedrawProc: procedure; Процедурная переменная перерисовки графического окна. Если равна nil, то используется стандартная

События модуля GraphABC

События модуля GraphABC Графическая программа продолжает выполняться даже после того как выполнены все операторы основной программы. Графическое окно реагирует на события мыши, клавиатуры, событие изменения размеров окна и событие закрытия окна. Данные события определены

Компьютерра №33 (605) Тема номера: Выставки ТЕМА НОМЕРА SIGGRAPH 2005

Компьютерра №33 (605) Тема номера: Выставки ТЕМА НОМЕРА SIGGRAPH 2005 В начале августа в Лос-Анджелесе прошла выставка SIGGRAPH 2005. Полное название этого мероприятия звучит следующим образом: 32-я Международная конференция по компьютерной графике и интерактивным технологиям

2.6.2. Графический редактор Paint

ТЕМА НОМЕРА: Как родилась эта тема

ТЕМА НОМЕРА: Как родилась эта тема Автор: Владимир ГуриевОбычно мы стараемся придумать на первое апреля что-нибудь веселое, но последние несколько лет редакции и без первого апреля живется все лучше и веселее, так что настроения шутить у нас не было, и в тематическом

Для рисования в Pascal ABC необходимо запустить специальный модуль GraphABC, использование специальных функций и процедур помогут вам нарисовать точку, отрезок, окружность и прямоугольник и другие фигуры:

Первой инструкцией программы должна быть инструкция
uses GraphABC;

SetPixel(x,y,color) - Закрашивает один пиксел с координатами (x,y) цветом color

LineTo(x,y) - рисует отрезок от текущего положения пера до точки (x,y); координаты пера при этом также становятся равными (x,y).

Line(x1,y1,x2,y2) - рисует отрезок с началом в точке (x1,y1) и концом в точке (x2,y2).

SetPenColor(color) - устанавливает цвет пера, задаваемый параметром color.

SetPenWidth(n) - устанавливает ширину (толщину) пера, равную n пикселям.

Rectangle(x1,y1,x2,y2) - рисует прямоугольник, заданный координатами противоположных вершин (x1,y1) и (x2,y2).

FloodFill(x,y,color) - заливает область одного цвета цветом color, начиная с точки (x,y).

SetBrushColor(color) - устанавливает цвет кисти. Заливка кистью распространяется на замкнутый контур, описание которого следует за процедурой установки цвета кисти.

Ellipse(x1,y1,x2,y2) - рисует эллипс, заданный своим описанным прямоугольником с координатами противоположных вершин (x1,y1) и (x2,y2).

Circle(x,y,r) - рисует окружность с центром в точке (x,y) и радиусом r.

Arc(x,y,r,a1,a2) - Рисует дугу окружности с центром в точке (x,y) и радиусом r, заключенной между двумя лучами, образующими углы a1 и a2 с осью OX (a1 и a2 – вещественные, задаются в градусах и отсчитываются против часовой стрелки).

clBlack – черный
clPurple – фиолетовый
clWhite – белый
clMaroon – темно-красный
clRed – красный
clNavy – темно-синий
clGreen – зеленый
clBrown – коричневый
clBlue – синий
clSkyBlue – голубой
clYellow – желтый
clCream – кремовый
clAqua – бирюзовый
clOlive – оливковый
clFuchsia – сиреневый
clTeal – сине-зеленый
clGray – темно-серый
clLime – ярко-зеленый
clMoneyGreen – цвет зеленых денег
clLtGray – светло-серый
clDkGray – темно-серый
clMedGray – серый
clSilver – серебряный



5. Закрасим окружность синим цветом.
Это можно сделать двумя способами: с помощью заливки и установив цвет кисти.
В первом случае устанавливается цвет пера, рисуется окружность, затем проводится заливка (функция FloodFill(х,у, color)). х и у – это координаты точки внутри закрашиваемой фигуры.
Во втором случае устанавливается цвет пера и цвет кисти, затем рисуется фигура, уже закрашенная.
Первый способ:






Как рисовать объекты и графики функций с помощью циклов в программе Pascal ABC, можно посмотреть здесь.

SetWindowHeight(h); - Устанавливает высоту графического окна
SetWindowWidth(w); - Устанавливает ширину графического окна
ClearWindow; - очищает графическое окно белым цветом.
ClearWindow(color); - очищает графическое окно указанным цветом.

2. Задание цвета

clBlack – черный
clPurple – фиолетовый
clWhite – белый
clMaroon – темно-красный
clRed – красный
clNavy – темно-синий
clGreen – зеленый
clBrown – коричневый
clBlue – синий
clSkyBlue – голубой
clYellow – желтый
clCream – кремовый
clAqua – бирюзовый
clOlive – оливковый
clFuchsia – сиреневый
clTeal – сине-зеленый
clGray – темно-серый
clLime – ярко-зеленый
clMoneyGreen – цвет зеленых денег
clLtGray – светло-серый
clDkGray – темно-серый
clMedGray – серый
clSilver – серебряный

Цвет также можно задать с помощью палитры RGB для это за место color пишетс я rgb(r,g,b) : где r,b,g - числа от 0 до 255

Задание для самостоятельного решения.
Напишите программу, которая задает окно 200х100 пиксел и закрашивает его по очереди в любые пять цветов. Имейте ввиду, что это закрашивание происходит мгновенно и надо придумать задержку для того, что бы увидеть все пять окрашиваний.

3. Прямоугольник, овал, заливка

Rectangle(x1,y1,x2,y2) - рисует контур прямоугольника со сторонами параллельными сторонам экрана. Точки с координатами (x1, y1) и (x2, y2) определяют диагональные вершины прямоугольника.

FloodFill(x,y,color) - заливает область одного цвета цветом color, начиная с точки (x,y).
SetPenWidth(w) - устанавливает ширину пера, равную w пикселам.

Читайте также: