русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Графические примитивы


Дата добавления: 2013-12-23; просмотров: 1372; Нарушение авторских прав


Точечная графика

Библиотека GraphABC

 

В системе программирования PascalABC кроме текстового окна можно использовать графическое окно, в котором можно рисовать. Рисунок состоит из пикселов – маленьких одноцветных квадратиков («точек»).

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

1. ClearWindow; - очищает графическое окно белым цветом;

2. ClearWindow(c); - очищает графическое окно цветом c;

3.FillWindow(n); - заполняет окно рисунком с описателем n;

3. SetWindowSize(w,h); - задаёт размеры графического окна;

4. SetWindowPos(l,t); - задаёт отступ графического окна от левого верхнего угла экрана;

5.SetWindowCaption(s); - задаёт заголовок окна;

6. CloseWindow; - закрывает графическое окно;

7. ScreenWidth - возвращает ширину экрана;

8. ScreenHeight: - возвращает высоту экрана;

9. CenterWindow; - центрирует графическое окно на экране;

10. MaximizeWindow; - разворачивает графическое окно на весь экран, оставляя видимой лишь панель задач;

11. NormalizeWindow– восстанавливает размер графического окна.

 

Рисовать отдельными точками, конечно, неудобно. Но, если применять цикл, в котором координаты и цвета точек рассчитываются по каким-либо формулам, можно получить графики функций и другие красивые рисунки.

Поставить в окне один пиксел цвета c можно командой SetPixel(x,y,c); Функция GetPixel(x,y) позволяет узнать цвет пиксела с координатами (x,y).

Библиотека GraphABC использует 24-битную цветовую палитру. Цвета имеют числовые значения от 0 (чёрный) до 16 777 215 (белый). Любой оттенок цвета можно вычислить по его красной (r), зелёной (g) и синей (b) составляющим с помощью функции RGB(r,g,b);, где r, g и b принимают значения от 0 до 255. 0 соответствует минимальной яркости, 255 – максимальной.

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



 

 

В качестве примера нарисуем звездное небо, разбросав точки случайного цвета по случайным координатам окна.

 

 

 

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

Линия определяется характеристиками пера:

1. SetPenColor(c); - задаёт цвет пера;

2. SetPenWidth(w); - задаёт толщину пера в пикселах;

3. SetPenStyle(s); - задаёт стиль пера.

Стили пера задаются следующими константами: psSolid – сплошная линия; psClear - прозрачная линия; psDash - штриховая линия (- - - - - ); psDot - пунктирная линия (······);
psDashDot - штрихпунктир (─·─·─·─·); psDashDotDot- штрих и двойной пунктир (─··─··─··─··);

 

Заливка определяется характеристиками кисти:

1. SetbrushColor(c); - задаёт цвет кисти;

2. SetBrushPicture(fname); - загружает из графического файла рисунок - образец для заливки;

3. ClearBrushPicture; - отключает рисунок-образец;

4. SetBrushStyle(s); - задаёт стиль заливки:

 
 

 

 


После настройки пера и кисти можно рисовать, используя такие команды: (все параметры – целые числа)

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

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

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

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

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

 

6. RoundRect(x1,y1,x2,y2,w,h); - рисует прямоугольник со скругленными углами; (x1,y1) и (x2,y2) задают пару противоположных вершин, а w и h – ширину и высоту эллипса, используемого для скругления углов.

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

7. Pie(x,y,r,a1,a2); - рисует сектор окружности, ограниченный дугой (параметры процедуры имеют тот же смысл, что и в процедуре Arc).

8. Chord(x,y,r,a1,a2); - рисует фигуру, ограниченную дугой окружности и отрезком, соединяющим ее концы (параметры процедуры имеют тот же смысл, что и в процедуре Arc).

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

10.Polygon(a,n); - строит ломаную по n точкам, координаты которых заданы в массиве a элементов типа Point.

11.Polyline(a,n); - строит замкнутую ломаную по n точкам, координаты которых заданы в массиве a элементов типа Point.

 

Замкнутые фигуры заливаются цветом кисти. Можно также нарисовать замкнутую область отрезками, дугами и другими примитивами и залить внутреннюю область цветом c, начиная с точки (x,y), с помощью команды FloodFill(x,y,c);

 



<== предыдущая лекция | следующая лекция ==>
Записи и базы данных | Использование готовых точечных рисунков


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.004 сек.