русс | укр

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

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

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

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


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

Установка стиля и цвета закраски. Закрашивание фигур.


Дата добавления: 2014-11-28; просмотров: 1371; Нарушение авторских прав


После того как Вы нарисовали картинку, у Вас, верно, возникло желание ее раскрасить. Для этого есть различные способы. Познакомимся с одним из них – “заливкой” замкнутых площадей различными видами заполнения. Для этого существуют две процедуры SetFillStyle и FloodFill.

SetFillStyle (Pattern, Color), где переменные Pattern, Color типа Word – определяет стиль заполнения и цвет заполнения.

Значения Pattern можно взять из следующей таблицы:

Стандартные стили заполнения
Константа Код Маска-заполнение
EmptyFill цветом фона
SolidFill текущим цветом
LineFill символами - -, цвет – Color
LtSlashFill символами //норм. толщины, цвет – Color
SlashFill символами //удвоенной толщины, цвет – Color
BkSlashFill символами \\удвоенной толщины, цвет – Color
LtBkSlashFill символами \\норм. толщины, цвет – Color
HatchFill вертикально-горизонтальная штриховка тонкими линиями, цвет – Color
XhatchFill штриховка крест-накрест по диагонали “редкими” тонкими линиями, цвет – Color
InterLeaveFill штриховка крест-накрест по диагонали “частыми” тонкими линиями, цвет – Color
WideDotFill “редкие” точки
CloseDotFill “частые” точки

Например, если мы употребили процедуру

SetFillStyle (WideDotFill, Red) или SetFillStyle (10, 4),

то выбрали стиль закраски “редкими” точками красного цвета

Теперь же, когда Вы указали компьютеру ЧЕМ Вы будете закрашивать (стиль и цвет), можно указать, ЧТО Вы будете закрашивать. Для этого существует процедура

FloodFill(X, Y, ColorBorder),где X, Y переменные типа integer, а Border – переменная типа word -процедура, которая позволяет заполнить замкнутую область выбранным стилем и цветом закраски. Необходимо только выполнить несколько требований:



• первые два параметра (X, Y) являются координатами так называемой “затравочной” точки, т. е. точки, лежащей обязательно внутри закрашиваемой области;

• ColorBorder – параметр, обозначающий цвет, которым нарисована закрашиваемая фигура (так называемый цвет “бордюрчика”);

• фигура должна быть начерчена одним цветом;

• фигура должна быть замкнута.

Например, пусть следующая фигура начерчена синим цветом

(x,y)

Чтобы закрасить ее выбранным стилем и цветом (“редкие” точки красного цвета, см. выше) нужно дать команду FloodFill(180, 200, 1).

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

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

SetBkColor(Color), где переменная Color типа Word – процедура, устанавливающая цвет фона.

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

ClеarDeviсe – процедура, которая очищает экран и устанавливает курсор в позицию (0,0).

GraphDefaults – cбрасывает заданные пользователем параметры графического режима и устанавливает исходные (определяемые по умолчанию при запуске процедуры InitGraph).

Задание. Раскрасьте кораблик, используя различные стили и цвета. Покажите учителю полученную картинку и листинг программы.



<== предыдущая лекция | следующая лекция ==>
Занятие 2: Построение дуги, окружности, прямоугольника, эллипса. | Занятие 3: Вывод текста.


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


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

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

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


 


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

 
 

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

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