4)Вывод текста в Turbo c:
Ниже приводится краткое описание функций текстового вывода в графическом режиме:
gettextsettings
Возвращает текущий текстовый шрифт, направление, размер и выравнивание.
outtext
Посылает строку на экран в текущую позицию (CP).
outtextxy
Посылает текст на экран в заданную позицию.
settextjustify
Устанавливает значения выравнивания текста, используемые outtext и outtextxy.
settextstyle
Устанавливает шрифт, стиль и коэффициент увеличения текущего текста.
Графическая библиотека включает в себя матричный шрифт 8х8 и несколько штриховых шрифтов для вывода текста в графическом режиме.
- В матричном битовом шрифте каждый символ определяется как матрица пикселей.
- В штриховом шрифте каждый символ определяется как последовательность векторов, сообщающих графической системе, как создается данный символ.
Преимущество использования штриховых шрифтов становится очевидным, когда вы начинаете рисовать большие по размеру символы. Поскольку штриховой шрифт определяется как последовательность векторов, при увеличении размера он сохранит хорошее разрешение и качество изображения. И напротив, когда вы увеличиваете битовый матричный шрифт, матрица умножается на соответственный коэффициент масштабирования; чем больше этот коэффициент, темхуже становится разрешение символов. Для малых размеров такой вид шрифта вполне удовлетворителен, однако для больших размеров вам лучше выбрать штриховой шрифт.
Ниже приводится краткое описание функция для управления цветом изображений:
Функции получения информации о цвете:
getbcolor
Возврашает текущий цвет фона.
getcolor
Возвращает текущий цвет вычерчивания.
Функции установки одного или более цветов:
setbkcolor
Устанавливает текущий цвет фона
setcolor
Устанавливает текущий цвет вычерчивания.
Пиксели и палитры
Графический экран представляет собой массив пикселей; каждый пиксель соответствует одной (цветной) точке на экране. Значение пикселя не задает точный цвет этой точки напрямую; на самом деле это некоторый индекс таблицы цветов, называемой палитрой. Каждый элемент палитры, соответствующий данному значению пикселя, содержит точную информацию о цвете, которым будет отображен этот пиксель.
5)Понятие холста, кисти, карандаша в С++Builder:
Canvas (Холст)
Как было сказано ранее, поверхности, на которую программа может выводить графику, соответствует свойство Canvas. В свою очередь, свойство Canvas — это объект типа TCanvas. Методы этого типа обеспечивают вывод графических примитивов (точек, линий, окружностей, прямоугольников и т. д.), а свойства позволяют задать характеристики выводимых графических примитивов: цвет, толщину и стиль линий; цвет и вид заполнения областей; характеристики шрифта при выводе текстовой информации.
Методы вывода графических примитивов рассматривают свойство Canvas как некоторый абстрактный холст, на котором они могут рисовать (canvas переводится как "поверхность", "холст для рисования"). Холст состоит из отдельных точек — пикселей. Положение пикселя характеризуется его горизонтальной (X) и вертикальной (Y) координатами. Левый верхний пиксель имеет координаты (0, 0). Координаты возрастают сверху вниз и слева направо. Значения координат правой нижней точки холста зависят от размера холста.
PEN (карандаш) и Brush (кисть)
Художник в своей работе использует карандаши и кисти. Методы, обеспечивающие вычерчивание на поверхности холста графических примитивов, тоже используют карандаш и кисть. Карандаш применяется для вычерчивания линий и контуров, а кисть — для закрашивания областей, ограниченных контурами. Карандашу и кисти, используемым для вывода графики на холсте, соответствуют свойства Реn (карандаш) и Brush (кисть), которые представляют собой объекты типа TPen и TBrush, соответственно. Значения свойств этих объектов определяют вид выводимых графических элементов. Поскольку карандаш является дочерним объектом (свойством) объекта Canvas, то обращение к нему имеет вид Canvas->Pen.
Pen (карандаш)
Карандаш используется для вычерчивания точек, линий, контуров геометрических фигур: прямоугольников, окружностей, эллипсов, дуг и др.
Кисть (Кисть)
Кисть (Canvas->Brush) используется для заливки (закрашивания) замкнутых областей, например геометрических фигур. Кисть, как объект, обладает двумя свойствами, перечисленными в табл. 28.
Таблица 28. Свойства объекта TBrush
Свойство Определяет
Color Цвет закрашивания замкнутой области
Style Стиль (тип) заполнения области
Область внутри контура может быть закрашена или заштрихована. В первом случае область полностью перекрывает фон, а во втором — сквозь незаштрихованные участки области будет виден фон.
В качестве значения свойства ^ Color можно использовать любую из констант типа TColor (см. список констант для свойства Pen->Color по контекстной справке Builder).
6)Основные графические примитивы в С++Builder:
Методы вычерчивания графических примитивов
Любая картинка, чертеж, схема могут рассматриваться как совокупность графических примитивов: точек, линий, окружностей, дуг и др. Таким образом, для того чтобы на экране появилась нужная картинка, программа должна обеспечить вычерчивание (вывод) графических примитивов, составляющих эту картинку.
Вычерчивание графических примитивов на поверхности компонента (формы или области вывода иллюстрации) осуществляется применением соответствующих методов к свойству Canvas этого компонента.
Вычерчивание прямой линии осуществляет метод LinеТо, инструкция вызова которого в общем виде выглядит следующим образом:
Компонент->Canvas->LineTo(x,у).
Метод LinеТо вычерчивает прямую линию от текущей позиции карандаша в точку с координатами, указанными при вызове метода.
Начальную точку линии можно задать, переместив карандаш в нужную точку графической поверхности. Сделать это можно при помощи метода MoveTo, указав в качестве параметров координаты нового положения карандаша.
Вид линии (цвет, толщина и стиль) определяется значениями свойств объекта Реn графической поверхности, на которой вычерчивается линия.
Довольно часто результаты расчетов удобно представить в виде графика. Для большей информативности и наглядности графики изображают на фоне координатных осей и оцифрованной сетки.
Окружность и эллипс
Метод Ellipse вычерчивает эллипс или окружность, в зависимости от значений параметров. Инструкция вызова метода в общем виде выглядит следующим образом:
Объект->Canvas->Ellipse(x1,y1, х2,у2]
где Объект — имя объекта (компонента), на поверхности которого выполняется вычерчивание;
x1, y1, х2, у2 — координаты прямоугольника, внутри которого вычерчивается эллипс или, если прямоугольник является квадратом, окружность.
Вычерчивание дуги выполняет метод Chord, инструкция вызова которого в общем виде выглядит следующим образом:
Объект->Canvas->Chord(x1,y1,х2,у2,х3,у3,х4,у4).
где x1, y1, х2, у2 — параметры, определяющие эллипс (окружность), частью которого является вычерчиваемая дуга;
х3, у3 — параметры, определяющие начальную точку дуги; а х4, у4 — параметры, определяющие конечную точку дуги.
Начальная (конечная) точка — это точка пересечения границы эллипса и прямой, проведенной из центра эллипса в точку с координатами х3 и у3 (х4, у4). Дуга вычерчивается против часовой стрелки от начальной точки к конечной.
Цвет, толщина и стиль линии, которой вычерчивается дуга, определяются значениями свойства Реn поверхности (Сanvas), на кото
Прямоугольник
Прямоугольник вычерчивается методом Rectangle, инструкция вызова которого в общем виде выглядит следующим образом:
Объект->Canvas->Rectangle(x1, y1,x2, y2)
где:объект — имя объекта (компонента), на поверхности которого выполняется вычерчивание;
x1, y1 и х2, у2 — координаты левого верхнего и правого нижнего углов прямоугольника.
Метод RoundRec тоже вычерчивает прямоугольник, но со скругленными углами. Инструкция вызова метода RoundRec выглядит так:
Объект>Canvas->RoundRect(x1,y1,х2, у2, х3, у3)
где:
x1, y1, х2, у2 -- параметры, определяющие положение углов прямоугольника, в который вписывается прямоугольник со скругленными углами;
х3 и у3 — размер эллипса, одна четверть которого используется для вычерчивания скругленного угла.
7)Базовые компоненты в С++Builder:
Компоненты C++ Builder
Компоненты разделяются на видимые (визуальные) и невидимые (невизуальные). Визуальные компоненты появляются во время выполнения точно так же, как и во время проектирования. Примерами являются кнопки и редактируемые поля. Невизуальные компоненты появляются во время проектирования как пиктограммы на форме. Они никогда не видны во время выполнения, но обладают определенной функциональностью (например, обеспечивают доступ к данным, вызывают стандартные диалоги Windows 95 и др.)
Для добавления компонента в форму можно выбрать мышью нужный компонент в палитре и щелкнуть левой клавишей мыши в нужном месте проектируемой формы. Компонент появится на форме, и далее его можно перемещать, менять размеры и другие характеристики.
Каждый компонент C++ Builder имеет три разновидности характеристик: свойства, события и методы.
Если выбрать компонент из палитры и добавить его к форме, инспектор объектов автоматически покажет свойства и события, которые могут быть использованы с этим компонентом. В верхней части инспектора объектов имеется выпадающий список, позволяющий выбирать нужный объект из имеющихся на форме.
Свойства компонентов
Свойства являются атрибутами компонента, определяющими его внешний вид и поведение. Многие свойства компонента в колонке свойств имеют значение, устанав иваемое по умолчанию (например, высота кнопок). Свойства компонента отображаются а странице свойств (Properties). Инспектор объектов отображает опубликованные (published) свойства компонентов. Помимо published-свойств, компоненты могут и чаще всего имеют общие (public), опубликованные свойства, которые доступны только во время выполнения приложения. Инспектор объектов используется для установки свойств во время проектирования. Список свойств располагается на странице свойств инспектора объектов. Можно определить свойства во время проектирования или написать код для видоизменения свойств компонента во время выполнения приложения.
При определении свойств компонента во время проектирования нужно выбрать компонент на форме, открыть страницу свойств в инспекторе объектов, выбрать определяемое свойство и изменить его с помощью редактора свойств (это может быть п остое поле для ввода текста или числа, выпадающий список, раскрывающийся список, диалоговая панель и т.д.).
События
Страница событий (Events) инспектора объектов показывает список событий, распознаваемых компонентом (программирование для операционных систем с графическим пользовательским интерфейсом, в частности, для Windows 95 или Windows NT предполагает описание реакции приложения на те или иные события, а сама операционная система занимается постоянным опросом компьютера с целью выявления наступления какого-либо события). Каждый компонент имеет свой собственный набор обработчиков событий. В C++ Builder следует писать функции, называемые обработчиками событий, и связывать события с этими функциями. Создавая обработчик того или и ого события, вы поручаете программе выполнить написанную функцию, если это событие произойдет.
Для того, чтобы добавить обработчик событий, нужно выбрать на форме с помощью мыши компонент, которому необходим обработчик событий, затем открыть страницу событий инспектора объектов и дважды щелкнуть левой клавишей мыши на колонке з ачений рядом с событием, чтобы заставить C++ Builder сгенерировать прототип обработчика событий и показать его в редакторе кода. При этом автоматически генерируется текст пустой функции, и редактор открывается в том месте, где следует вводить код. Курсор позиционируется внутри операторных скобок { ... }. Далее нужно ввести код, который должен выполняться при наступлении события. Обработчик событий может иметь параметры, которые указываются после имени функции в круглых скобках.
Методы
Метод является функцией, которая связана с компонентом, и которая объявляется как часть объекта. Создавая обработчики событий, можно вызывать методы, используя следующую нотацию: ->, например:
Edit1->Show();
Отметим, что при создании формы связанные с ней модуль и заголовочный файл с расширением *.h генерируются обязательно, тогда как при создании нового модуля он не обязан быть связан с формой (например, если в нем содержатся процедуры расчетов). Имена формы и модуля можно изменить, причем желательно сделать это сразу после создания, пока на них не появилось много ссылок в других формах и модулях.
8)Структура проекта и основные программные единицы в С++Builder:
Файлы, образующие приложение - формы и модули - собраны в проект. Менеджер проектов показывает списки файлов и модулей приложения и позволяет осуществ ять навигацию между ними. Можно вызвать менеджер проектов , выбрав пункт меню View/Project Manager. По умолчанию вновь созданный проект получает имя Project1.cpp.
По умолчанию проект первоначально содержит файлы для одной формы и исходного кода одного модуля. Однако большинство проектов содержат несколько форм и модулей. Чтобы добавить модуль или форму к проекту, нужно щелкнуть правой кнопкой мыши и выбрать пункт New Form из контекстного меню. Можно также добавлять существующие формы и модули к проекту, используя кнопку Add контекстного меню менеджера проектов и выбирая модуль или форму, которую нужно добавить. Формы и модули можно удалить в любой момент в течение разработки проекта. Однако, из-за того, что форма связана всегда с модулем, нельзя удалить одно без удаления другого, за исключением случая, когда модуль не имеет связи с формой. Удалить модуль из проекта можно, используя кнопку Remove менеджера проектов.
Если выбрать кнопку Options в менеджере проектов, откроется диалоговая панель опций проекта, в которой можно выбрать главную форму приложения, определить, какие формы будут создаваться динамически, каковы параметры компиляции модулей (в том числе созданных в Delphi 2.0, так как C++ Builder может включать их в проекты) и компоновки.
Важным элементом среды разработки C++ Builder является контекстное меню, появляющееся при нажатии на правую клавишу мыши и предлагающее быстрый доступ к наиболее часто используемым командам.
Разумеется, C++ Builder обладает встроенной системой контекстно-зависимой помощи, доступной для любого элемента интерфейса и являющейся обширным источником справочной информации о C++ Builder.
Программная единица – модуль.
- 1) Компьютерная графика. Область применения. Проблемы:
- 2)Основные задачи кг:
- 3)Графические функции примитивов Turbo c:
- 4)Вывод текста в Turbo c:
- 9)Метрические пространства и координатный метод представления объектов:
- 10)Двумерные аффинные преобразования координат.
- 11)Трехмерные аффинные преобразования координат.
- 14)Связь преобразований объектов с преобразованиями координат:
- 15)Типы проекций. Мировые и экранные координаты:
- 17)Растровая графика. Характеристики растра:
- 18)Цвет в растре. Модель rgb. Кодировка цвета и яркости:
- 19)Цветовая модель cmyk:
- 20)Растровые дисплеи. Черно-белый буфер кадра/цветной буфер кадра/регенерация изображения:
- 22)Формирование цветового изображения в элт:
- 23)Системы с телевизионным растром:
- 24)Видеоадаптеры: основные характеристики, типы, адресное пространство:
- 26)Понятие фрактала и фрактальной графики:
- 28)Алгоритм Брезенхема:
- 29)Векторная графика: назначение, элементы, структура:
- 30)Каноническое уравнение прямой. Нормальный вектор прямой и его свойства:
- 31)Параметрическое уравнение прямой и уравнение в отрезках: