Оқулық Қазақстан Республикасы Білім жəне ғылым министрлігі бекіткен Алматы, 2011 1



бет119/210
Дата06.01.2022
өлшемі4,42 Mb.
#16437
түріОқулық
1   ...   115   116   117   118   119   120   121   122   ...   210
Байланысты:
boribaev-algoritmdeu

SetFillPattern процедурасы сурет үлгісін жəне штрихтау түсін анықтайды. Тақырыбы:
Procedure SetFillPattern(Pattern: FillPatternType; Color: Word); мұндағы PatternSetFillStyle процедурасында Fill = UserFill үшін сурет үлгісін анықтайтын FillPatternType типті өрнек; Color
– толтыру түсі.
Сурет үлгісі 8x8 пикселден тұратын матрица түрінде беріледі жəне төмендегідей типтегі 8 байт жиым түрінде де берілуі мүмкін:

type
FillPatternType = array [1..8] of Byte;
Осы байттардың кез келген разрядтары пикселдің жануын басқарады. Бірінші байт экранның бірінші жолының 8 пикселін, екінші байт – екінші жолдың 8 пикселін жəне т.с.с.
7.9-суретте толтырудың екі үлгісінің мысалы келтірілген. Суретте сызықшамен жанбайтын пиксел, ал тіктөртбұрышпен жанатын пиксел белгіленген. Əр 8 пикселге сəйкес байттың оналтылық коды келтіріледі.
Келесі программа осы үлгімен экранның екі тікбұрышты ауданын толтырады.
uses Graph, CRT;
const
pattl: FillPattern-
Type=($49,$92,$49,$92,$49,$92,$49,$92);
patt2: FillPattern-
Type=($00,$18,$24,$42,$42,$24,$18,$00);
var


206

d,r,e: Integer;
begin
{Графиканы іске қосамыз} d:=Detect; InitGraph(d,r,’’); e:=GraphResult;
if e <> grOk then WriteLn(GraphErrorMsg(e))
else
begin
if d=CGA then SetGraphMode (0); {CGA адаптері үшін түстерді орнатамыз}
SetFillStyle(UserFill,White); {Сол жақ жоғарғы квадрат}
SetFillPattern(Patt1,1); Bar(0,0,GetMaxX div 2, GetMaxY div 2);
{Оң жақ төменгі квадрат} SetFillPattern(Patt2,2);
Bar(GetMaxX div 2,GetMaxY div 2,GetMaxX,GetMaxY);
if ReadKey=#0 then d:=ord(ReadKey); CloseGraph
end
end.



7.9-сурет. Толтыру үлгілері жəне олардың кодтары
Егер процедураны шақырғанда түс коды дұрыс көрсетілмесе, онда процедура іске қосылмайды да, осыған дейін орнатылған толтыру үлгісі сақталады. Алдыңғы мысалда, CGA –адаптерінің жұмыс режимін орнататын




Достарыңызбен бөлісу:
1   ...   115   116   117   118   119   120   121   122   ...   210




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет