Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ООП теория(1).docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
607.2 Кб
Скачать

27. Қарапайым графиктік өңдеуші құрастырыңыз. Канваның негізгі қасиеттері (Brush т.Б.).

Канваның Brush қасиеті. Brush – қылқалам. Бұл қасиет фонды және тұйық фигураны толтырады (заполняет). Color қасиеті толтыру түсін білдіреді. Style қасиеті толтырудың шаблонын анықтайды. Қылқаламның тағы бір қасиеті – Bitmap. Ол TBitmap типті объектіге нұсқаушы және берілген шаблонды стандартты емес толықтырады. Шаблон 8х8 өлшемді биттік матрицамен беріледі.

Қарапайым графиктік өңдеуші құрастыру.

  1. Жаңа қосымша ашу

  2. Формаға TImage типті 2 компонент таңдап, оларды форманың сол жақ төменгі бұрышына орналастырамыз.20х20 өлшемді квадрат форманы мысал етіп аламыз. Бұл – негізгі және көмекші түсті терезе. Аттарын Image1 және Image2 деп қоямыз.

  3. Формаға тағы бір Image компонентін таңдап, форманың жоғарғы бөлігіне орналастырамыз. Бұл – сурет салу үшін холст болады. Аты Image3.

  4. Формаға тағы Image компонентін таңдап, төменгі оң жаққа орналастырамыз. Бұл – түстер палитрасы. Биіктігі алдыңғылармен бірдей, ал ұзындығы олардан 10 есе ұлкен. Атын Image4 деп қоямыз.

  5. Формаға TSpeedButton типті кнопка таңдап, оны сол жақ жоғарғы бұрышына орналастырамыз. Бұл кнопка қылқалам рөлін атқарады. Атын SBBrush деп қоямыз.

  6. Формаға тағы бір TspeedButton типті кнопка таңдап , SBBrush – тан төмен орналастырамыз. Бұл кнопка – сурет пикселі түсін нұсқаушы. Атын SBColor деп қоямыз.

  7. Формаға диалог OpenPictureDialog орналастырамыз.

  8. Формаға бас мәзір MainMenu орналастырамыз. Мәзірде ашу бөлімшесі бар Файл бөлімін жасаймыз. Бұл бөлімше атын МOpen деп қоямыз. Тағы да Қайтару бөлімшесі бар Правка бөлімін жасаймыз. Атын Undo атаймыз.

Компоненттерді орналастаырып біттік. Енді оқиғалар жасаймыз.

  1. Файлға келесі операторды қосамыз.

  2. OnCreate оқиғасы үшін :

  1. OnDestroy – ге келесі операторды жазамыз:

  1. Менюдің ашу бөлімшесіне келесі операторды жазамыз:

Бұл оператор Image3 компонентіне сурет жүктейді.

  1. Менюдің қайтару бөлімшесіне келесі операторды жазамыз:

Бұл оператор TBitmap - та сақталған суретті холстта қайта қалпына келтіреді.

  1. SBBrush және SBColor кнопкаларындағы OnClick оқиғасына келесі операторды жазамыз:

Бұл оператор Bitmap-та ағымдағы суретті сақтап қалады.

28. Канваны салу және көшіру режимдері. OnPaint оқиғасы.

С++ Builder-де канвасы бар және канвада сурет салуға мүмкіндік беретін арнайы компонент PaintBox бар. Форманың канвасында сурет салғанда немесе PaintBox—та кейбір ерекшеліктерді ескеру қажет. Жаңа қосымша ашып, оған OpenPictureDialog диалогын қойып,келесі операторды қолданамыз.

Бұл операторлар қолданушы таңдап алған файлдарды жүктеуді қамтамасыз етеді. Егер басқа қосымша терезесі қолданушы қосымшасының терезесін жауып қалса,онда канваның формасындағы сурет құртылады. Егер терезе жабылып,сурет құртылса,операциялық жүйе өзгеріс туралы , жаңа сәйкес іс-әрекет қолдану жайында қосымшаға хабар береді. Терезені жаңартқан сәтте, OnPaint оқиғасы генерацияланады.

Форманың оқиғасында суретті қайта салу қажет. Қайта салу қосымшаға байланысты әр түрлі әдіспен жүзеге асады.Bitmap aйнымалысын глобальды етіп аламыз.

Graphics:!TBitmap * Bitmap;

Онда файлды жүктеу процедурасы

дейін қысқарады.OnPaint-те тек 1ғана оператор енгіземіз:

If операторы Bitmap-қа қате нұсқаудан құтылу үшін қолданылады.

Канвада ClipRect (TRect типті ) қасиет бар. Ол қасиет OnPaint оқиғасында нұсқайды. Сондықтан, келесі өңдеуші тиімді болады.

Ол тек қана бүлінген ClipRect облысын қайта салады.