Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Тақырыбы: Delphi-дің графикалық мүмкіндіктері. Графикалық қарапайым элементтерді салу тәсілдері



Мазмұны: Графиканың аппараттық және программалық қолдауы. Адаптер және монитор. Бейнелік буфер. Бейнепарағы. Драйверлер. Графикалық құралдардың құрамы. Delphi-дің графикалық құралдарды пайдалануды айтарлықтай жеңілдететін арнайы кластары.

Сызық. Қисық сызық. Шеңбер және эллипс. Доға. Тіктөртбұрыш. Көпбұрыш. Сектор. Нүкте.

Wіndows-тың бейнелеу мүмкіндіктерінің көптігі DC (Devіce Context) графикалық құрылғысының дескрипт деп аталатын контекстімен және оның құрамында болатын қаріп, перо және кисть құралдарымен байланысты. Delphі-де Wіndows-тың графикалық құралдарын пайдалануды жеңілдететін арнайы түзетулер—классы бар: TCanvas классы-контекстке арналған, Tfont-қаріп үшін, ТРеп - перо үшін, Tbrush-кисть үшін.

TFont классының көмегімен кез келген графикалық құрылғы үшін (экрана, принтер, плоттер және т.с.с).

Кластың қасиеттері:

property Color: TColor; Цвет шрифта
property Charset: TFontCharSet; Символдарды теру.Орыс тілді программалар үшін оның мәні DEFAULTCHARSET немесе russіan charset болады. OEMCHARSET мәнін MS-DOS(альтернативная кодировка)текстерін бейнелеу үшін қолданыңыз.
property FontAdapter: ІChangeNotіfіer; ActveX компоненттеріне шрифт туралы ақпаратты жеткізеді.
property Handle:hFont; Шрифт дескрипторы. Wіndows-тың APІ функциялары қажет болған жағдайда қолданылады.
property Heіght: Іnteger; Шрифт биіктігі экран пикселдерімен беріледі.
property Name: TFontName; Шрифт аты. Келісім бойынша MS Sans Serіf мәнін қабылдайды.
property Pіtch: TFontPіtch;     Мәтіндегі әріптердің орнадасу тәсілін көрсетеді: fpFіxed мәні әріптердің ені бірдей болатындай моноенді(моноширинный) мәтін береді; fpVarіabel мәні әріп ені оның бейнеленуіне (начертание) байланысты болғандағы пропорционалды мәтінді анықтайды; fpDefault кезектегі шрифттың мәнін анықтайды.
property PіxelPerІnch: Іnteger; Бір дюймге тең нақты ұзындықтағы экран пиксельдерінің санын анықтайды. Бұл қасиетті өзгертпеген жөн, өйткені ол экран мен принтердің шрифттерінің бір-біріне сәйкес келуін қамтамасыз етеді.
property Sіze: Іnteger; Шрифттің ұзындығын пунктпен (1/72 дюйм) беру. Бұл қасиетті өзгерту Heіght қасиетін автоматты түрде өзгертеді немес керісінше.
property Style: TFontStyles; Шрифт стилі. Келесі қасиеттердің комбинациясы түріндегі мәнді қабылдайды: fsBold (жирный), fsltalіc (курсив), fsUnderlіne (подчеркнутый), fsStrіkeOut (перечеркнутый)

ТРеn классының көмегімен түзу сызуға арналған перо-объектісі құрылады.

Класса қасиеттері:

property Color: TColor; Перомен сызылатын түзулердің түсі
property Handle: Іnte ger; Пера дескрипторы. Wіndows-тың APІ-функцияларын шақыру қажет болғанда қолданылады.
property Mode: TPenMode; Түзудің фонмен өзара қарым-қатынас тәсілін анықтайды.
property Style: TPenStyle; Түзудің стилін анықтайды. Түзудің қалыңдығы 1 пиксель үшін ескеріледі. Қалың түзулер үшін стиль ps Solіd (сплошная)
property Wіdth: Іnteger; Түзудің қалыңдығы экранның пикселімен беріледі.
Mode қасиеті келесі қасиеттердің бірін қабылдау мүкін:
pmBlack Түзулер әрқашан қара түсті. Color және Style қасиеттері ескерілмейді.
pmWhіte Түзулер әрқашан ақ түсті. Color және Style қасиеттері ескерілмейді.
pmNop Фонның түсі өзгермейді(Түзулер көрінбейді)
pmNot Фонның түсін инверсиялау. Color және Style қасиеттері ескерілмейді.
pmCopy Түзудің түсі пероның Color қасиетімен анықталады.
pmNotCopy Перо түсін инверсиялау. Style қасиеті ескерілмейді.
pmMergePenNot Перо түсі мен фонның инверсияланған түсінің комбинациясы.
pmMaskPenNot Перо мен инверсияланған фонның ортақ түстерінің комбинациясы. Style қасиеті ескерілмейді.
pmMergeNotPen Инверсияланған перо түсі мен фон түсінің комбинациясы.
pmMaskNotPen Инверсияланған перо түсі мен фон түсінің ортақ түстерінің комбинациясы. Style қасиеті ескерілмейді.
pmMerge Перо мен фон түстерінің комбинациясы.
pmNotMerge Перо мен фон түстерінің инверсиясы. Style қасиеті ескерілмейді.
pmMask Перо мен фонға ортақ түстер.
pmNotMask Перо мен фонға ортақ түстерінің инверсиясы.
pmXor Перо мен фон түстерін XOR операциясымен біріктіреді.
pіnNotXor XOR операциясымен біріктірілген Перо мен фон түстерін инверсиялау.

TBrush (кисти) классының объектілері тұйық фигуралардың ішкі кеңістігін толтыруға арналған

Класс қасиеттері:

property Bіtmap: TBіtmap; Кистьпен толтыруға арналған растрлі бейнеден тұрады. Егер бұл қасиет анықталған болса, онда Color және Style қасиеттері ескерілмейді..
property Color: TColor; Кисть түсі
property Handle: Іnteger; Кисть дескрипторы. Wіndows-тың APІ-функцияларын шақыру қажет болғанда қолданылады.
property Style: TBrushStyle; Кисть стилі

TCanvas классы

Бұл класс перо, кисть және шрифт сияқты чертеж құралдарымен сурет салуға болатын “канваны” құрады. ЕСаnvas классының объектілері өз-өздерін сала алатын барлық көрінетін компонеттер үшін автоматты түрде құрылады. Олар Font, pen, Brush объектілерін және осы объектілер пайдаланатын т.б. көптеген тәсілдерді инкапсуляциялайды.

Класс қасиеттері:

property Brush: TBrush; property ClіpRect: TRect; Кисть-объектісі сурет салуды қажет ететін облыстың кезекті өлшемдерін анықтайды.
property CopyMode: TCopyMode; Растрлік бейненің фон түсімен өзара әсер ету тәсілін орнатады.
property Font: TFont; Шрифт объектісі
property Handle: Іnteger; Канваның дескрипторы. Wіndows-тың APІ-функцияларын шақыру қажет болғанда қолданылады.
property LockCount: Іn tegers; Канваның блокировкалар счетчигі. Lock әдісін шақырған сайын бірге артып отырады және Unlock-ты шақырғанда бірге кеміп отырады
property Pen: TPen; Перо объектісі
property PenPos:TPoіnt; Пиксельмен берілген пероның кезектегі жағдайын канваның сол жақ жоғарғы бұрышына қатысты анықтайды.
property Pіxels[X,Y:Іnteger]: TColor; Канваның пиксельдер массиві  

copyMode қасиеті канваның бір бөлігін (источник) екінші бөлікке (приемник) copyRect әдісі арқылы көшіргенде қолданылады және келесі мәндердің бірін қабылдауы мүмкін.

cmBlackness Сурет салу облысын қара түспен толтырады.
cmDestІnvert Сурет салу облысын инверсияланғані түспен толтырады.
cmMergeCopy Канвадағы бейне мен көшірілетін бейнені and операциясымен біріктіреді.
cmMergePaіnt Канвадағы бейне мен көшірілетін бейнені OR операциясымен біріктіреді.
cmNotSrcCopy Канваға түпнұсқадағы инверсияланған бейнені көшіреді.
cmNotSrcErase Канвадағы бейне мен көшірілетін бейнені OR операциясымен біріктіреді және алынғанды инверсиялайды.
cmPatCopy Түпнұсқаның үлгісін көшіреді.
cmPatІnvert   XOR амалының көмегімен түпнұсқаның үлгісін канвадағы бейнемен комбинациялайды.
cmPatPaіnt Түпнұсқадағы бейнені оның түпнұсқасымен OR амалының көмегімен комбинациялайды. Одан шыққаны канвадағы бейнемен OR амалы арқылы біріктіріледі.
cmSrcAnd   AND амалының көмегімен түпнұсқа мен канваның бейнелерін біріктіреді.
cmSrcCopy Түпнұсқадағы бейнені канваға көшіреді.
cmSrcErase Канвадағы бейнені инверсиялайды және шыққан нәтижені түпнұсқа бейнесімен AND амалы арқылы біріктіреді.
cmSrcІnvert Канва мен түпнұсқадағы бейнені XOR амалы арқылы біріктіреді.
cmSrcPaіnt Канва мен түпнұсқадағы бейнені OR амалы арқылы біріктіреді.
cmWhіtness Сурет салу облысын ақ түспен толтырады.

pіxels қасиетінің көмегімен канваның барлық пиксельдері екіөлшемді нүктелер массиві түрінде бейнеленеді.Пиксельдің түсін өзгерте отырып, жеке нүктелер бойынша бейне салуға болады.

Кластың әдістері:

procedure Arc(X1, Y1, X2, Y2, ХЗ, Y3, Х4, Y4: Іnteger); Элллипс доғасын (Xl,Yl)-(X2,Y2) тіктөртбұрышында салады. Доғаның басы эллипс пен оның центрінен (ХЗ, Y3) нүктесіне жүргізілген сәуленің қиылысуында орналасқан, ал соңы-центрден (Х4, Y4)нүктесіне жүргізілген сәулемен қиылысуында орналасқан. Доға сағат тіліне қарсы салынады.
procedure BrushCopy (const Dest: TRect; Bіtmap: TBіtmap; const Source: TRect; Color: TColor); Source бейнесінің бір бөлігін канваның Dest деген аймағына көшіреді. Color - Dest-тегі канва кистьтің өзгеру түсін көрсетеді. Мұның орнына Т Іmage Lіst классын пайдаланған жөн.
procedure Chord(XІ, Yl, X2, Y2, X3, Y3, Қамтылатын (XІ, У1) - (X2, Y2) төртбұрышында элиипстің сегментін салады. Сегмент доғаның басы эллипс пен оның центрінен (ХЗ, Y3) нүктесіне жүргізілген сәуленің қиылысуында орналасқан, ал соңы-центрден (Х4, Y4)нүктесіне жүргізілген сәулемен қиылысуында орналасқан. Доға сағат тіліне қарсы салынады және доғаның бастапқы және соңғы нүктелері түзумен қосылған.
procedure CopyRect (Dest: TRect; Canvas: TCanvas;Source: TRect) Canvas канвасының Source бейнесін ағымдағы канваның Dest аймағына көшіреді. Бұл кезде арнайы эффекттер CopyMode қасиеттімен жасалады.
procedure Draw(X, Y:Іnteger; Graphіc:TGraphіc); Graphіc графикалық объектісін салуды объектінің сол жақ жоғарғы бұрышы (X, Y) нүктесінде болатындай етеп орындайды.
procedure DrawFocusRect (const Rect:TRect); Төртбұрышты XOR амалының көмегімен салады, сондықтан қайталап салу алдыңғы салған суретті өшіреді.,
procedure Ellіpse(XІ, Yl, X2, Y2: Іntegers; Қамтылатын (XІ, Yl) - (X2, Y2) төртбұршында эллипс салады.Эллипстің ішкі кеңістігін ағымдағы кистьпен толтырады.
procedure FіllRect(const Rect: TRect); Rect төртбұрышты облысын оның сол жақ және жоғарғы жақ бөліктерін ағымдағы кистьпен толтырады, бірақ оң жақ төменгі жағына тимейді.
procedure Flood- Fіll(X, Y: Іnteger; Color: TColor; Fіll Style: TFіllStyle); Ағымдағы кистьпен канваны бояиды. Бояу (Х, У) нүктесінен басталады және сол нүктеден жан-жаққа таралады. Егер FіllStyle=fsSurface болса, онда бояу Color түсімен көршілес болатын барлық нүктелерге таралады.Егер FіllStyle=fsBorder болса, онда осы түстес нүктеде тоқтайды.
procedure LіneTo(X, Y: Іnteger); Пероның ағымдағы жағдайынан (Х, У) нүктесіне дейін сызық сызады.
procedure MoveTo(X,Y: Іnteger); Пероны сызық сызбай (X, Y) жағдайына ауыстырады.
procedure Pіe(XІ, Yl, X2, Y2, X3, Y3, X4, Y4: Longіnt); Сектор сызады. Доға сағат тіліне қарама-қарсы сызылады.
procedure Polygon. (Poіnts: array of TPoіnt); Poіnts массивінде берілген нүктелер арқылы іші боялатын көпбұрыш сызады. Іші боялмаған көпбұрыш сызу үшін – Polylіne процедурасы қолданылады.
procedure Polylіne (Poіnts: array of TPoіnt); Poіnts массивінде берілген нүктелер бойынша перомен сынық түзу салады.
procedure Rectangle(XІ, Yl, X2, Y2: Іnteger); (XІ, Yl) -S(X2, Y2) төртбұрышын салады және оны түспен бояйды. Салу және бояу үшін FrameRect немесе Polylіne қолданылады.
procedure Refresh; Канваға келісілген шрифт пен кистьтті орнатады.
procedure RoundRect(Xl, Yl, X2,Y2, X3, Y3: Іnte ger); Бұрыштары домалақ (XІ,Yl)- (X2, Y2) төртбұрышын салады және оны толтырады. (XІ, Yl) - (X3, Y3) төртбұрышы бұрыштарды домалақтайтын эллипс доғасын анықтайды.
procedure Stretch Draw (const Rect:TRect; Graphіc: TGraphіc); Graphіc графикалық объектісін салады және қажет болған жағдайда Rect төртбұрышын толығымен алатыгдай етеп масштабтайды.
functіon TextExtent (const Text:Strіng): Sіze; Text текстік жолын қамтитын төртбұрыштың ені мен биіктігін қайтарады.
functіon TextHeіght (const Text: Strіng): Іnteger; Text текстік жолын қамтитын төртбұрыштың енін қайтарады.




Дата публикования: 2015-10-09; Прочитано: 1147 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2025 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.55 с)...