- Графикалық фигураларды қҧру
Тік төртбҧрыштарды қҧру
Турбо Паскальда тік тӛртбҧрышты фигураларды қҧру ҥшін, бірнеше процедуралар қарастырылған.
Бір ӛлшемді тік тӛртбұрышты сызу процедурасы:
Rectangle(Xl, Yl, Х2, Y2 : integer),
мҧндағы XI, Yl – тік тӛртбҧрыштың жоғарғы сол жақ бҧрышының, Х2, Y2 – оң жақ тӛменгі бҧрышының координаталары.
Бҧл ӛте пайдалы процедура, оның кӛмегімен, мысалы, кез келген диаграмманы жеңіл салуға болады. Тік тӛртбҧрыштың ішкі аймағы боялмайды және тҥсі фонның тҥсімен сәйкес келеді.
Мысал.
Биіктігі бойынша динамикалық қҧбылып, экранға әртҥрлі тҥспен 100 тік тӛртбҧрышты сызып шығаратын ҥзіндіні келтірейік:
for I:= I to 100 do begin
SetColor(Green); {түсті қою} Rectangle(200,Random(300),250,300); {1-тік тӛртбұрыш} Delay(50); {кідіру}.
ClearDevice {экранды тазалау}
end;
Бҧл мысалда тік тӛртбҧрыштың биіктігі кездейсоқ ӛзгереді.
Егер, Rectangle процедурасының екінші параметрі массивтің бүтін санды элементтері болса (мысалы, мекеменің айлық тӛлем ақысы), онда бастапқы деректердің динамикалық ӛзгерісін кӛзбен (визуалды) кӛреміз.
Bar(xl, yl, x2, y2: integer) – процедурасының кӛмегімен кӛзтартарлық тік тӛртбҧрыштарды (боялған бағандарды) салуға болады. Бояу тҥсі SetFillStyle процедурасымен қойылады.
Қолдану мысалы:
SetFillStyle(1,3);
Bar (10, 10, 50, 100);
Үш ӛлшемді боялған тік тӛртбұрышты сызу процедурасы:
Bar3D(x1, y1, x2, y2: integer; Depth: word; Top: Boolean)
Ҥш ӛлшемді боялған тік тӛртбҧрышты сызады. SetFillStyle процедурасымен қойылған бояу тҥсі және типі қолданылады.
Depth – параметрі, ҥш ӛлшемді нобайдың (контур) тереңдігін беретін, пиксельдер саны. Кӛбінесе, оның мәні тік тӛртбҧрыш енінің ширегіне тең болады:
Depth := (X2-X1) DIV 4;
Тор – параметрі, тік тӛртбҧрыштың ҥстінде тӛбе қҧруға болатынын (Тор:= True) немесе (Тор:= False) болмайтынын анықтайды.
Мысалы:
SetFillStyle(1,3); Bar3D(10,10,50,100,10,True);
- Көпбҧрыштарды қҧру
Турбо Паскальда ағымды сызықтың түсімен, стилімен және қалыңдығымен кез келген кӛпбұрышты қҧруға мҥмкіндік беретін DrawPoly процедурасы бар.
Оның пішімі мынадай:
DrawPoly(NumPoints: word; var PolyPoints)
PolyPoints – типті емес параметрінде, кӛпбҧрыштың әр қиылысу нҥктесінің координалары жазылады.
NumPoints – параметрі PolyPoints-те жазылған координаталар санын береді.
Ескерту. N тӛбелі тҧйық фигураны сызу ҥшін, DrawPoly процедурасымен тілдесерде N+1 координатасын жіберуді ҧмытпау керек, онда N нӛмірлі координата 1-ге тең болады.
Айтылғанды келесі программамен кӛрсетейік:
Program DemoDrawPoly; {Экран ортасында қызыл сызықпен үшбұрышты сызатын программа}
uses Crt, Graph;
var
DriverVar, ModeVar: integer; PP : array[1..4] of PointType;
xM, yM, xMaxD4, yMaxD4: word;