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

22. Графиктік қосымшаларды құрастыру. Дайын графиткік файлдарды қолдану. Image компонентасы және оның қасиеттері. Қарапайым қосымша құрастырыңыз.

Көп жағдайда, өз приложениямызды сәнді ету үшін графиктік қосымшаларды пайдаланамыз. Ол үшін Image компонентасы қажет болады, ол Additional компоненттер кітапханасында және оның аналогы DBImage Data Controls бетінде орналасқан. Жаңа приложения ашамыз. Image-ді формға қоямыз. Сосын инспектор объектовтан Picture батырмасына екі рет басып, Picture Editor терезесін ашамыз. Ол жерден графикалық файлды ашу үшін Load батырмасын басамыз. Ол жерден керекті файлымызды жүктеуге болады. Сонымен, Load Picture терезесі ашылады.OK батырмасын басыңыз, сол кезде таңдаған суретіміз Image-де пайда болады. Бұл таңдалған сурет осы приложенияда сақталып қалады, сондықтан келесіде оны бөлек приложения ашпай-ақ тауып алумызға болады.

Image компонентасының қасиеттері. Егер Autosize-ға true деп жазсақ, Image-ң өлшемі автоматты түрде суреттің өлшеміне өзгереді, ал егер false десек, онда сурет Image-ға сыймай қалуы мүмкін.

Ал stretch қасиеті Image-ді суреттің өлщеміне сәйкестендірмейді , керісінше суреттің өлшемін компоненттің өлшеміне сәйкестендіреді.

Center-true-ге алмастырсақ, Image-ң ауданының ортасына , таңдаған суретті қойып береді.

Transparent қасиеті,true-ге қойсақ, онда ол суретке бұлыңғырлық қасиет береді.

23. Графиктік файлдардың форматтары. Графиктік файлдарды сақтау класстары: TPicture, TBitmap, TIcone, TMetafile. Image Editor графиктерді өңдеуші. y=sin(x) функциясының графигін салу қосымшасын құрастырыңыз.

C++ Builder-де файл-ң 3 типі бар : биттік матрицалар,пиктограммалар, метафайлдар. Бұл 3 файлдың барлығы өзінде суреттерді сақтайды. Олардың айырмашылығы сақтау әдістерінде.

Биттік матрица (ауқымы .bmp) суреттегі әрбір пикселдің түрін көрсетеді. Кез келген компьютер сәйкес конфигурацияларына байланысты және түстерінің санына байланысты суреттерді қарай алатындай етіп, информация сақталады.

Пиктограммалар (ауқымы .ico)- бұл кішкентай биттік матрицалар. Олар барлық жерлерде приложениелердің белгілерін: жылдам батырмаларды, меню пункттерінде әр түрлі тізімдерді сипаттауда қолданылады. Пиктограммалардың сақтау әдістері дәл биттік матрицалардағыдай.

Метафайлдар – сурет құралатын биттердің тізбектілігін емес, суретті құру әдісі жайлы информациясын сақтайды.

Файлдың типтері ауқымы

JPEG Image File .jpg, .jpeg

Биттік матрицалар(Bitmaps) .bmp

Пиктограммалар .ico

Enhanced Metafiles .emf

Metafiles .wmf

Графикалық объекттерді сақтау үшін C++ Builder-де сәйкес класстар анықталған - TBitmap, TIcon, TMetafile. Бұл үш файл TPicture класында сақталады. Оның Graphic деген қасиеті бар, ол өзінде биттік матрицаларды да, пиктограммаларды да , метафайлдарды да сақтай алады.

TPicture -> Graphic немесе егер графикалық объекттің типі белгілі болса, TPicture -> Bitmap, TPicture ->Icon, TPicture ->Metafile түрінде ашылады.

Барлық класстар үшін файлға жүктеу жіне сақтау әдісі анықталған.

void_fastcall LoadFromFile (const System :: AnsiString Filename);

void_fastcall SaveToFile (const System :: Ansi String Filename);

TBitmap, TIcon және TMetafile класстары үшін файлдың форматы объекттің класына сәйкес болуы қажет.

Барлық біз қараған кластар үшін міндерін теңестіру әдісі анықталған.

void_fastcall Assign (TPersistent * Source);

C++ Builder-де құрастырылып қойған суреттер редактоы Image Editor бар. Tools -> Image Editor. Онда суреттерді биттік матрица пиктограмма түрінде құруға болады және онда құрылған суреттерді сақтар қана қоймай , оны бірден приложениенің ресурстар файлына қосып қояды.

File→Open→New→файлдың түрі , яғни Resource File (.res) ресурстар файлы,

Component Resource File (.der) компоненттерінің ресурстар файлы, Bitmap File (.bmp) биттік матрица файлы, Icon File (.ico) – пиктограмма файлы, Cursor File (.cur) курсордың сурет-ң файлы. Мысалы: биттік матрица үшін сурет құрастырғыңыз келсе, Bitmap File-ды таңдап, сурет-ң өлшемін (size) көлденеңінен(Width) және тігінен (Height) өзгертуге болады.

View бөлімінде суретті 2есеге ұлғайтып немесе кішірейтуге болады. Және сол жақта орналасқан инструменттер панелі арқылы кез-келген инструментті пайдаланып, суретті әрі қарай өңдеуге болады.

y=sinx графигі, ол үшін Additional-дан chart-ты және Standard →ListBox, Standard →Button пайдаланамыз.

void_fastcall TForm1 :: Button1Click (TObject * Sender)

{ double x=0

double y=0

double offset =0,005;

Chart1→SeriesList→Series[0]→ Clear();

if (Listbox1→ItemIndex ==0)

{ for (double i=-157; i<157; i++)

{ x+=offset;

y=sin(x);

chart1→SeriesList→Series[0]→AddXY (x,y,String (y),clRed); }}}

24. С++ Builder программасының политра компоненттері Standart. Additional және оларда орналасқан компоненттер.  Мысал келтіріңіз.

Палитра компоненттері – бұл визуалды компоненттер кітапханасының тұрпаты. Ол компоненттерді қолданылуына және мағынасына қарай топтастырады. Әрбір топтардың өзінің закладкалары болады. Мысалы:

Standart→Button, Standart→Label, Standart→Memo, Standart→Edit т.с.с.

Standart – бұл стандартты бет,онда көп қолданылатын компоненттер орналасқан.

Additional – қосымша бет, стандартты қосымша болып табылады.

Win32- 32 биттік компоненттер,Windows 95/98 ж/е NT стилінде.

System- жүйелік , яғни таймер , плеер және т.б. компоненттері бар.

Data Controls – кескіндеу және редакциялау компонентасы.

dbExpress – dbExpress көмегімен деректермен байланысу.

DataSnap - көп потокты приложение құру кезіндегі сервермен байланысу компонентасы.

BDE- деректерге Borland Database Engine көмегімен қосылу.

ADO –деректер қорымен Active Data Objects көмегімен байланыс.

Internet –Web серверлер құру компоненталары ж/е т.с.с.

Standart бетінде көптеген компоненттер орналасқан: Fromes, MainMenu, PopupMenu, Label, Edit, Button, Memo, Checkbox, RadioButton, ListBox, ScrollBar, GroupBox,RadioGroup, Panel, ActionList секілді компоненттер.

Біз зертханалық жұмыс кезінде жиі қолданатын компоненттерге тоқтала кетейін.

Label – берілген өлшемнің атауын енгізу үшін қолданылады.

Edit – берілгендерін енгізу терезесі

Button – түймеше

ComboBox – элементтер тізімін шығарып береді

CheckBox – белгілі бір опцияларды таңдауға мүмкіндік береді(галочка көмегімен) т.с.с.

Additional – стандарттыға қосымша. Оның компоненттері BitBtn, SpeedButton, MaskEdit, StringGrid, DrawGrid,Image, Shape, Bevel, ScrollBox, CheckListBox, Splitter, StaticText, ControlBar, Application Events, Value List Editor, LabeledEdit , ColorBox, Chart, Action Manager, Action Manager, ActionMainMenuBar, ActionToolBar, Customize Dlg.

BitBtn – суреті бар түймеше

Chart - график және диаграмма құру компонентасы

ColorBox – түстердің құламалы тізімі

Image- суреттерді көрсету компонентасы

LabeledEdit – Label ж/е Edit комп-і біріктірілген комп-а

SpeedButton – панель инструменттерін құруға арналған түймеше.

Мысалы: х=2, у=3 х+у-тің шешімін табу керек.

Біз формаға Label1→x, Label2→y және оның мәндері орналасқан Edit1, Edit2 – ні енгіземіз. Жауабы Memo-да шығады. Ал жауабын шығару үшін Button енгіземіз. Сонда біз Button-ды басқанда есептің жауабы Memo-да шығарылып тұрады.

25. С++ Builder де анимация жасау. Мысал келтір

Анимацияның программасы және формасы төменде берілген. Бұл прграмма Animate компоненті арқылы AVI анимациясын көрсетеді. Программа жұмысның басында файлдан анимация жүктеледі. Анимацияны қосылуы процессі экранға программа терезесі шыққан кезде іске қосылады. Animate компоненті дыбыссыз болатынына көңіл аударамыз.

bool loaded = false; // анимация жүктелген

// форманың конструкторы

__fastcall TForml::TForml(TComponent* Owner)

: TForm(Owner)

{

/* егер анимация файлы қолжетімсіз болса немесе анимация дыбыспен болатын болса возникает исключение */

try

{

Animatel->FileName = "delphi.avi";

}

catch (Exception &e)

{ }

Forml->Caption = "Анимация - " + Animatel->FileName;

loaded = true;

Labell->Caption =

"Кадров: " + IntToStr(Animatel->FrameCount) +

" Размер кадров: " + IntToStr(Animatel->Width) +

"x" + IntToStr(Animatel->Height);

}

// програма жумысының басы

void fastcall TForml::FonnActivate(TObject *Sender)

{

if ( loaded)

// воспроизвести анимацию один раз с первого по

// последний кадр

Animatel->Р1ау(1,Animatel->FrameCount,1);

}

// щелчок на кнопке Play

void _fastcall TForml::ButtonlClick(TObject *Sender)

if ( loaded)

// воспроизвести анимацию один раз с первого по

// последний кадр

Animatel->Play(1,Animatel->FrameCount,1);

}

26. С++ Builder программасындағы Canvas қасиетіндегі әдістер(Polygon, Ellipse, RoundRect және т.б.) арқылы қосымша құрастырыңыз.

Canvas қасиетіндегі әдістер. Канваның Pen қасиеті – бұл бірнеше қасетке ие объект. Мысалы: Color – салынған сурет түсі. Келесі қасиет Width (сызықтың ұзындығы). Сызықтың ұзындығы пиксельмен беріледі. Ол үнсіз келісім бойынша 1 – ге тең. Style қасиеті сызықтың түрін анықтайды. Бұл қасиет келесі мәндеоге ие бола алады.

psSolid тұтас сызық

psDash Штрихталған сызық

psDot Пунктирленген сызық

psDashDot Штрихталған – пунктирленген сызық

psClear сызық жоқ

Перо тек сызық қана емес, сонымен қатар фигура да салды.

Фигура салатын Канва әдістері

Arc шеңбердің не эллипстің доғасын салады

Chord шеңбердің не эллипс пен хорданың доғасымен шектелген тұйықталған фигура салады.

Ellipse Шеңбер не эллипс салады.

Pie Шеңбердің не эллипстің секторын салады.

Polygon Бөліктенген сызықтармен қоршалған тұйықталған фигура салады.

Polyline Бөліктенген сызықтармен қисық салады.

Rectangle Тікбұрыш салады

RoundRect Дөңес тікбұрыш салады