![]() Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву ![]() Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Установка стиля и цвета закраски. Закрашивание фигур.Содержание книги
Поиск на нашем сайте
После того как Вы нарисовали картинку, у Вас, верно, возникло желание ее раскрасить. Для этого есть различные способы. Познакомимся с одним из них – “заливкой” замкнутых площадей различными видами заполнения. Для этого существуют две процедуры SetFillStyle и FloodFill. SetFillStyle (Pattern, Color), где переменные Pattern, Color типа Word – определяет стиль заполнения и цвет заполнения. Значения Pattern можно взять из следующей таблицы:
Например, если мы употребили процедуру SetFillStyle (WideDotFill, Red) или SetFillStyle (10, 4), то выбрали стиль закраски “редкими” точками красного цвета Теперь же, когда Вы указали компьютеру ЧЕМ Вы будете закрашивать (стиль и цвет), можно указать, ЧТО Вы будете закрашивать. Для этого существует процедура FloodFill (X, Y, ColorBorder),где X, Y переменные типа integer, а Border – переменная типа word -процедура, которая позволяет заполнить замкнутую область выбранным стилем и цветом закраски. Необходимо только выполнить несколько требований: • первые два параметра (X, Y) являются координатами так называемой “затравочной” точки, т. е. точки, лежащей обязательно внутри закрашиваемой области; • ColorBorder – параметр, обозначающий цвет, которым нарисована закрашиваемая фигура (так называемый цвет “бордюрчика”); • фигура должна быть начерчена одним цветом; • фигура должна быть замкнута. Например, пусть следующая фигура начерчена синим цветом
![]() Чтобы закрасить ее выбранным стилем и цветом (“редкие” точки красного цвета, см. выше) нужно дать команду FloodFill(180, 200, 1). Нужно представить, как компьютер закрашивает фигуру. Первое, что он делает – это находит точку, от которой он начинает заливку и заливает точку за точкой до тех пор, пока не встретит заданный цвет. Таким образом, если фигура замкнутая, то, разливаясь во все стороны, он натыкается на “бордюрчик” и фигура становится закрашенной. Но, если в контуре фигуры есть хотя бы один пиксель, закрашенный другим цветом, замкнутость фигуры нарушается и краска выливается через эту дырочку и заливает не ту область, а иногда и весь экран.
Чтобы Вас уберечь от многих ошибок и, соответственно, сохранить Ваше время, хочу посоветовать относиться к рисованию фигур и их закраске, как к аппликации. Т. е. если нарисовали фигуру, постарайтесь сразу же ее закрасить, а также рисовать фигуры, начиная от самых больших и заканчивая самыми маленькими. SetBkColor(Color), где переменная Color типа Word – процедура, устанавливающая цвет фона. Примечание. После замены цвета фона на любой, отличный от черного, Вы не сможете более использовать цвет 0 как черный, он будет заменяться на цвет фона, т.к. процедуры модуля Graph интерпретируют цвет с номером 0 как цвет фона. ClеarDeviсe – процедура, которая очищает экран и устанавливает курсор в позицию (0,0). GraphDefaults – cбрасывает заданные пользователем параметры графического режима и устанавливает исходные (определяемые по умолчанию при запуске процедуры InitGraph). Задание. Раскрасьте кораблик, используя различные стили и цвета. Покажите учителю полученную картинку и листинг программы. Занятие 3: Вывод текста. Описываемые ниже стандартные процедуры подддерживают вывод текстовых сообщений в графическом режиме. Это не одно и то же, что использование процедур Write и Writeln. Дело в том6 что специально для графического режима разработаны процедуры, обеспечивающие вывод сообщений различными шрифтами в горизонтальном или вертикальном направлении, с изменением размеров и т.д. OutText('текст'), где переменная 'текст' типа String – выводит текстовую строку, начиная с текущего положения указателя. При горизонтальном направлении вывода указатель смещается в конец выведенного текста, при вертикальном – не меняет своего положения. Строка выводится в соответствии с установленным стилем и выравниванием. Примечание. Если текст выходит за границы экрана, то при использовании штриховых шрифтов он отсекается, а в случае стандартного шрифта не выводится.
OutTextXY(X, Y, 'текст'), где переменные X, Y типа Integer, а 'текст' типа String – выводит строку 'текст', начиная с точки с координатами X, Y. Указатель не меняет своего положения. Например, после применения процедуры OutTextXY(100, 50, 'Grafika in Turbo Pascal') на экране будет высвечена строка Grafika in Turbo Pascal, начиная с точки с координатами (100,50). SetTextStyle(Font; Direct; Size), где переменные Font и Direct типа word, а Size типа Integer – устанавливает стиль текстового вывода на графический экран. Здесь переменная Font указывает на код (номер) шрифта, Direct – код направления, а Size – код размера шрифта. Для указания кода шрифта можно использовать следующие константы:
Cреди этих шрифтов только DefaultFont (код 0) является матричным шрифтом, т.е. его символы создаются из матриц 8х8 пикселей. Все остальные шрифты – векторные, их элементы формируются как совокупность векторов определенного направления и размера. Примечание. Русскоязычные сообщения можно выводить в графическом режиме с помощью шрифта DefaultFont. Для задания направления выдачи текста используют следующие константы: 0 – слева направо 1 – снизу вверх Размер выводимых символов задается параметром Size, который имеет диапазон от 1 до 10 (матричный шрифт от 1 до 32). SetTextJustify (Horiz,Vert), где переменные Horiz и Vert типа word – задает выравнивание текста по отношению к текущему положению указателя или к заданным координатам. Здесь Horiz – горизонтальное выравнивание, а Vert – вертикальное выравнивание. Выравнивание определяет как будет размещаться текст – левее или правее указанного места, выше, ниже или по центру. Можно использовать следующие константы: Для Horiz: LeftText = 0 (указатель слева от текста); CenterText = 1 (симметрично слева и справа); RightText = 2 (указатель справа от текста); Для Vert: BottonText = 0 (указатель снизу от текста); CenterText = 1 (симметрично снизу и сверху); TopText = 2 (указатель сверху от текста); Обратите внимание на неудачные имена констант. Если Вам надо расположить текст справа от заданных координат (процедура OutTextXY), то нужно задать константу LeftText, что в переводе с английского означает “Левый текст”. SetUserCharSize (X1, X2, Y1, Y2), где переменные X1, X2, Y1, Y2 типа word – изменяет размер выводимых символов в соответствии с заданными пропорциями. Пропорции задают масштабный коэффициент, показывающий во сколько раз увеличится ширина и высота выводимых символов по отношению к стандартно заданным значениям. Коэффициент по горизонтали находится как отношение X1 к X2, по вертикали Y1, Y2. Например, чтобы удвоить ширину символов, необходимо задать Х1=2 и Х2=1. Стандартный размер символов устанавливается процедурой SetTextStyle, которая отменяет предшествующее ей обращение к SetUserCharSize. GraphDefaults – cбрасывает заданные пользователем параметры графического режима и устанавливает исходные (определяемые по умолчанию при запуске процедуры InitGraph). Задание. Дайте название своему рисунку, используя изученные процедуры.
Решение задач. Выберите с учителем задачи для решения из предложенного ниже списка: 1. Построить и подписать вершины а) треугольника с вершинами (200,200), (250,200), (180,270); б) прямоугольника с вершинами (80,80), (170, 80), (170, 50), (80,150); 2. Нарисовать человечка и подписать его части тела. 3. Составьте программу черчения на экране прямой, отрезка, луча и угла таким образом, чтобы каждый объект появлялся после нажатия клавиши <Enter>. Предыдущий объект должен стираться. Подписывайте каждый раз выводимый объект. 4. Составьте программу черчения на экране треугольника, прямоугольника и круга таким образом, чтобы каждый объект появлялся после нажатия клавиши <Enter>. Предыдущий объект должен стираться. Подписывайте каждый раз выводимый объект. 5. Написать на экране введенную строку пятью различными стилями. 6. Написать программу для вычерчивания на экране своего имени с помощью символа «*». 7. Построите на экране все виды углов и подпишите. (Углы бывают острыми, тупыми, прямыми и развернутыми.) 8. Начертить на экране все известные Вам графические объекты. 9. Построить снеговика, разукрасить его по своему вкусу. Дайте картинке название. 10. Нарисовать 3 карандаша разного цвета.
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Последнее изменение этой страницы: 2016-08-12; просмотров: 214; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.222.181.72 (0.011 с.) |