ПредишенСледващото

Изграждане на полилиния върхове точки XY масив (н - брой точки)

В графични конструкции, включващи абсолютни координати на точки (x1, Y1), (2 бр, y2), попита ценности тип SMALLINT в екрана координатна система, или нараствания (DX, Dy) по отношение на позицията на текущата точка. Absolute координати може да бъде отрицателна. Това означава, че една от точките на графично примитивен е извън екрана координира мрежа. Но ние виждаме един фрагмент от съответните графики примитивни да бъде построен. Редът за определяне на ъгловите точки на правоъгълника са здраво фиксирани. Point (x1, y1) съответства на горния ляв ъгъл на правоъгълника.

След отваряне на графики или графично почистване текущата точка (графика на курсора) е в основата - в горния ляв ъгъл на екрана. В изграждането на текущата точка линията се движи до края на сегмента. Изграждането на правоъгълник, не променя позицията на текущата точка. Това може да се види в следния пример (Обявата 15.3).

Обявата 01 Май 0.3. CP програма

програма СР; използва графика; Var

GD: = D8bit; г: = m800x600; initgraph (GD, г ");

LineRel (50,0); readln; closegraph;

Съответният графичен дисплей е показано на фиг. 15.4.

Строителни линии и правоъгълници Free Pascal

Фиг. 15.4. Преместете текущата точка

Отсечките и контури на правоъгълника могат да се направят не само от плътните линии. По подразбиране системата е инсталирана графична е този режим. Въпреки това, можете да го промените като се свържете с SetLineStyle процедура.

SetLineStyle (Стил, модел, ширина);

Оформете първия си параметър обикновено е посочен един от следните mnemoniche- константи Sgiach:

± SolidLn - изграждане режим плътна линия (по подразбиране);

± DottedLn - начин на изграждане на пунктирана линия;

± CenterLn - начин на изграждане точка верига линия;

± Dashedln - начин на изграждане на пунктирана линия;

± UserBitln - рисуване линии потребител режим модел.

първи четири режима на Модела параметър се игнорира и може да се заменя е дадено, например нула. Неговото назначаване - за определяне на шаблона на потребителя, който се образува като два байта шестнадесетични константи. Сканира модел от ляво на дясно. Неговият следващ безотпаден прави още един пиксел Линиите невидим, а нивото на единица - видими. След изчерпване разтоварва от своята битов модел на сканиране се повтаря отново. Проби от стандартни видове линии възпроизвеждане показани на Фиг. 15.5. Като нестандартни shab- утробата постоянна патент се използва = $ FFFFFF00.

Третият аргумент определя дебелината на линията процедури SetLineStyle които МО

Jet равен на един пиксел (ширина = NormWidth) или два пиксела (ширина = ThickWidth).

Строителни линии и правоъгълници Free Pascal

Фиг. 15.5. стилове линии

процедура DrawPoly е да се конструира прекъсната линия, чиито върхове са дефинирани PointType точки тип масив. Ако координатите на последната точка на масива съвпадат с координатите на началната точка, че по този начин можем да изградим някакъв полигон (обявата 15.4).

Обявата 15.4. програма полигон

програма полигон; използва графика;

XY: масив [1..4] на PointType;

DrawPoly (4, XY); // строителство триъгълник

Графично представяне на програмата е показано на фиг. 15.6.

Строителни линии и правоъгълници Free Pascal

Фиг. 15.6. Строителство на триъгълника

Показано на фиг. 15.1, 15.3-15.6 изградени изкуствено, т. За. Стандарт определя от режима на рисуване играе всички графични елементи в бяло на черен фон. Затова истинските графични прозорците съответните програми са били обработени в Paint Лечение с помощта на цветове, за да избрани области на работното поле.

Фактът, че опитът да се направи на екрана на графики в черно и бяло, не може да бъде решен само чрез промяна на цвета на боята (ев: = 0) и цвета на фона (ж.к.: = 15). Когато са включени в програмата по-горе преди да се обадите на процедурата засмукващата- Poly след две твърдения:

SetColor (0); // код черен SetBkColor (15); // код бяло

съдържанието на графичното изображение не се променят. Опитвайки се да покаже цвета на фона, като изтриете съдържанието на екрана (процедура ClearDevice) също е нищо добро не го прави - на екрана става бял и цветен живопис върху бял фон редове Тя не трябва да напускат. Поради това е необходимо да отидете на "Hype" графична система: Код Нула цвят трансфер до КПР се регистрирате с редица различни от 0. Тогава назначен цвят чай, прозрачен цвят и промяна на цвета на фона (виж Обява 15.5).

Обявата 01 Май 0.5. Rizo vanie з д молекулно тегло бял CB

програма poly_B_W; използва графика;

XY: масив [1..4] на PointType;

GD: = D8bit; г: = m800x600; initgraph (GD, г ");

SetPalette (1,0); // черен -> първият DAC регистрирате SetColor (1); // задача цвят чертеж SetBkColor (15); // промените цвета на фона

ClearDevice; // дисплей на цвета на фона

DrawPoly (4, XY); readln; CloseGraph;

След тези манипулации преди контакт графичен дисплей, изход към принтер, който не води до повишена консумация на тонера (вж. Фиг. 15.6).

Свързани статии

Подкрепете проекта - споделете линка, благодаря!