Аппараттық және бағдарламалық қамтамасыз етуді орнату

Графикалық ақпаратты бейнелеуге арналған компоненттер тізімі. Delphi-дің графикалық мүмкіндіктерін пайдалану Теорияға қысқаша түсінік

«Дельфиде графикалық ақпаратты көрсету»
Тақырып жоспары:
1. Графикалық шығару әдістері
Delphi-де ақпарат.
2. Суреттерді көрсету.
3. Геометриялық дисплей
сандар.

1. Графикалық ақпаратты бейнелеу әдістері.
Delphi-де бірнеше әдіс бар
графикалық ақпаратты шығару:
Алдын ала дайындалған қорытынды
кескіндер (сурет құрамдастары,
пішіні);
Графиктер мен диаграммаларды құру
(диаграмма компоненті және т.б.);
Бейнелеу
бағдарламалық түрде(объект
кенеп).

2. Суреттерді көрсету.
Қолдану арқылы суреттерді көрсету
біз талқылаған Image компоненті
алдыңғы ағындардың бірі.
Мұнда біз мысалды қарастырамыз
қарапайым анимацияны жүзеге асыру
мерзімді өзгерту арқылы
ішінде сурет көрсетіледі
Кескін құрамдастары.
Мысалға өтіңіз.


Қарапайымдылардың көрінісі
пішіндегі геометриялық фигуралар
Shape компонентін қамтамасыз етеді.

3. Геометриялық пішіндерді көрсету.
Shape компонентінің негізгі қасиеттері:
Щетка
Қалам
пішін
Түс (.Түс) және стиль (.Стиль) үшін
пішінді толтыру.
Түс (.Түс), Стиль (.Стиль), Ені
(.Width) және жолдардың шығару әдісі (.Mode).
сандар.
Геометриялық фигураның түрі.

3. Геометриялық пішіндерді көрсету.
Бірнеше пішін құрамдастарынан
Сіз қарапайым сызбаларды жасай аласыз.
Бағдарламалық түрде позицияны өзгерту
(.Сол, .Жоғарғы) өлшемі (.Ені, .Биіктігі) және
Shape компоненттерінің түсі (Brush.Color).
суретте сіз аласыз
қарапайым анимация элементтері.
Мысал қарастырайық.

4. Графиктер мен диаграммаларды құру.
Диаграммалар арналған
көбірек көрнекі презентация
сандық мәліметтер массивтері, олардың
визуалды көрсету және талдау.
Мысал.
Delphi-де диаграмма құру үшін
бірнеше құрамдас бөліктер бар
олардың бірі Диаграмма компоненті (бөлім
TeeChartStd.

4. Графиктер мен диаграммаларды құру.
Одан кейінгі Chart компонентінің көрінісі
пішіндегі параметрлер:

4. Графиктер мен диаграммаларды құру.
Объект инспекторынан басқа, қол жеткізу
Chart компонентінің қасиеттерін білуге ​​болады
арнайы терезені ашу арқылы алыңыз
диалогтық терезе (компоненттегі оң жақ түйме \
Диаграмманы өңдеу...)
қосу
деректер қатары
Түрін өзгерту
диаграммалар

4. Графиктер мен диаграммаларды құру.
Диаграмма түрін таңдау:

4. Графиктер мен диаграммаларды құру.
Координат осьтерінің қасиеттерін орнату
(ось):

4. Графиктер мен диаграммаларды құру.
Көрсетілетін деректер әдетте
Диаграммаға бағдарламалы түрде тасымалданады,
мысал:
Series1.Clear; (айқын қатар)
i:=1 үшін N істеу
Series1.addxy(i, A[i], '', clGreen);
Мәні бойынша
X осі
Мәні бойынша
Y осі
Қол қою
X осі
Деректер түсі
диаграммада
Құрылыстың мысалын қарастырыңыз
у = Sin(x) функциясының графигі

Әрі қарай:
Зертханалық жұмыс № 13.1.
«Суреттерді көрсету және геометриялық
фигуралар, олардың анимациясы.
Тапсырма:
1) Іске асыру үшін қосымшаны әзірлеу
мерзімділік бойынша ең қарапайым анимация
көрсетілген суретті өзгертіңіз
Кескін құрамдастары. (Суреттердің саны жоқ
үштен аз, суреттерді алыңыз
өз бетінше).

Тапсырма:
2) Суретті ойлап тауып, суретін сал
Пішін компоненттері. Бағдарламалық түрде
орнын, өлшемін немесе түсін өзгерту
Сызбадағы құрамдастарды кескіндеңіз
қарапайым элементтерді жүзеге асыру
анимациялар.

Әрі қарай:
Зертханалық жұмыс № 13.2.
«Графиктер мен диаграммаларды құру».
Тапсырма:
1) Қолданбаны мына жерден өзгертіңіз
№9 зертханалық жұмыс (көрсетілуде
кестедегі деректер). Мүмкіндік қосу
кестедегі кейбір деректерді көрсету
жолақ немесе дөңгелек диаграммада.
2) Берілген функцияның графигін тұрғыз.

Delphi кітапханасында графикалық ақпаратты көрсету үшін құрамдас бөліктер берілген, олардың тізімі Кестеде берілген. 6.

6-кесте

Графикалық ақпаратты бейнелеуге арналған компоненттер

Құрамдас Бет Сипаттама
Сурет (сурет) Қосымша Графиктерді көрсету үшін қолданылады
PaintBox (сурет салуға арналған терезе) Жүйе Пішінде сурет салуға болатын аумақты құру үшін қолданылады
DrawGrid (сызу кестесі) Қосымша Жолдар мен бағандарда мәтіндік емес деректерді көрсету үшін қолданылады
Диаграмма (диаграммалар мен графиктер) Қосымша Құрамдас диаграммалар мен графиктерді құру үшін пайдаланылатын компоненттердің TeeChart тобына жатады
Chartfx (диаграммалар мен графиктер) ActiveX Диаграмма және график редакторы
FIBook ( excel беттері) ActiveX Сандық ақпаратты енгізуге және өңдеуге арналған компонент
VtChart (диаграммалар) ActiveX Диаграммалық терезе

Сонымен қатар, қасиетке ие кез келген терезе компонентінің бетіне графикалық ақпаратты көрсетуге және енгізуге болады Кенеп- кенеп.

Кескін кестелері - DrawGrid және StringGrid компоненттері

Құрамдас DrawGridграфиканы қамтитын қолданбада кесте құру үшін қолданылады. Бұл компонент компонентке ұқсас Жол торы,соңғысы шыққандықтан сызу торы.Сондықтан, в DrawGridкомпоненттің барлық қасиеттері, әдістері, оқиғалары бар Жол торы,мәтінге қатыстылардан басқа, яғни. қасиеттерінен бөлек Жасушалар, Түстер, жолдар, нысандар.Осы тұрғыдан алғанда компонент StringGridқарағанда әлдеқайда көп әлеуетке ие сызу торы,өйткені ол суреттерді де, мәтіндерді де ұяшықтарда сақтай алады. Ал кейбір ұяшықтарға мәтін енгізгіңіз келсе сызу торы,онда бұл үшін кенепке мәтін шығару әдістерін қолдану қажет, бұл өте ыңғайлы емес.

Құрамдас бөліктер DrawGrid және StringGridкенеп бар кенеп,суреттерді орналастыруға болады.

Әдісі бар жасуша тік,ол берілген ұяшыққа бөлінген кенептің ауданын қайтарады. Бұл әдіс ретінде анықталады

функциясы CellRect(ACol, ARow: Longint): TRect;

қайда ACol және ARow- ұяшық қиылысында орналасқан 0-ден басталатын баған және жол индекстері. Бұл функция қайтаратын аумақ - қалаған кескінді салуға болатын кенептің ауданы. Мысалы, оператор

DrawGridl.Canvas.CopyRect(DrawGridl.CellRect(1,1),

BitMap.Canvas,Rect(0,0, BitMap.Height, BitMap.Width));

әдісі бойынша көшіреді CopyRectкестенің (1,1) ұяшығына DrawGridlкомпоненттен алынған сурет нүктелік сурет.Бұл ұяшық кестеде сол жақтан екінші және жоғарыдан екінші орында, себебі индекстер 0-ден басталады. Ұяшық өлшемдері көшірілген кескіннің өлшемінен кішірек болса, ұяшықта тек сол жақ ұяшық пайда болатынын ескеріңіз. жоғарғы бөлігісуреттер.

Құрамдас кенеп кескіні DrawGrid және StringGridкез келген құрамдастың кенепіндегі сияқты, қолданба терезесі басқа терезелермен қабаттасқанда немесе, мысалы, қолданба кішірейтілгенде, ол өшірілуге ​​жатады.

Ұяшықтарға кескіндерді енгізудің ыңғайлы жолы DrawGridоқиға өңдеушісін пайдалану болып табылады OnDrawCell.Бұл оқиғалар әрбір кесте ұяшығы үшін оның қайта сызу сәтінде орын алады. Өңдеуші тақырыбы келесідей көрінеді:

процедура TForml.DrawGridlDrawCell(Жіберуші: TObject;

ACol, ARow: бүтін; Rect: TRect; Күй: TGridDrawState)

Параметр Мемлекетұяшықтың күйін көрсетеді. Бұл келесі элементтерді қамтуы мүмкін жиын: gdТаңдалған- ерекшеленген ұяшық gdFocused- фокустағы ұяшық, gdFixed- кестенің бекітілген аймағындағы ұяшық. Параметр Мемлекетұяшықтарды әртүрлі күйлерде әртүрлі көрсету үшін пайдалануға болады.

Пішін компоненті

Пішін компонентіграфикалық ақпаратты көрсету құралына шартты түрде ғана жатқызуға болады, өйткені ол жай ғана қолайлы көлеңкеленген әртүрлі геометриялық фигураларды бейнелейді. Бұл компоненттің негізгі қасиеті пішін(форма), ол келесі мәндерді қабылдай алады:

StRectangle – төртбұрыш;

StSquare - шаршы;

StRoundRect – бұрыштары дөңгеленген тіктөртбұрыш;

StRouhdSquare - бұрыштары дөңгеленген шаршы;

Stellipse - эллипс;

StCircle - шеңбер.

Компоненттің тағы бір маңызды қасиеті Щетка(щетка). Бұл сипат типті объект болып табылады щетка,бірқатар ішкі қасиеттерге, атап айтқанда түске ие (Қылқалам. Түс)және стиль (Қылқалам стилі)пішінді толтыру. Суреттегі кейбір мәнер мәндерінде толтыруды көруге болады. 3.2. Компоненттің спецификалық қасиеттерінің үшінші бөлігі пішін- Қалам(қалам) сызық стилін анықтайтын.

Диаграмма құрамдас бөлігі

Енді компонентті қарастырыңыз Диаграмма.Бұл компонент өте әсерлі көрінетін әртүрлі диаграммалар мен графиктерді құруға мүмкіндік береді. Құрамдас диаграммакөптеген қасиеттері, әдістері, оқиғалары бар, сондықтан олардың барлығын қарастыратын болсаңыз, онда сіз бұған бүкіл тарауды арнауыңыз керек. Сондықтан біз тек негізгі сипаттамаларды қарастырумен шектелеміз Диаграмма.Қалғанын кірістірілген Delphi анықтамасынан таба аласыз немесе диаграммалармен тәжірибе жасау арқылы оларды қолданып көріңіз.

Құрамдас диаграммаобъектілердің контейнері болып табылады Сериялар- сынып ұрпақтары TchartSeries.Әрбір мұндай нысан белгілі бір көрсету стилімен сипатталатын деректер қатарын білдіреді: сол немесе басқа график немесе диаграмма. Әрбір компонент диаграммабірнеше серияларды қамтуы мүмкін. Егер сіз графикті көрсеткіңіз келсе, онда әрбір қатар графиктегі бір қисыққа сәйкес болады. Диаграммаларды көрсеткіңіз келсе, диаграммалардың кейбір түрлері үшін бірнеше қабаттасуға болады әртүрлі сериялар, басқалары үшін (дөңгелек диаграммалар сияқты) ол ұсқынсыз болып көрінуі мүмкін. Дегенмен, бұл жағдайда бір құрамдас үшін орнатуға болады диаграммаәртүрлі диаграмма түрі бар бір деректердің бірнеше сериясы. Содан кейін олардың біреуін уақыттың әр сәтінде белсенді ету арқылы сіз пайдаланушыға оны қызықтыратын деректерді көрсететін диаграмма түрін таңдау мүмкіндігін бере аласыз.

Бір немесе екі компонентті орналастырыңыз диаграммапішінде және Объектілер инспекторында ашылатын сипаттарды қараңыз. Олардың кейбірін түсіндірейік.

AllowPanning – қолданушының орындау кезінде тінтуірдің оң жақ батырмасын басу арқылы диаграмманың бақыланатын бөлігін айналдыру мүмкіндігін анықтайды. Мүмкін мәндер: pmNone - айналдыру өшірілген, pmHori/ontal, pm Vertical немесе pmBoth - сәйкесінше, айналдыру тек көлденең бағытта, тек тік бағытта немесе екі бағытта да рұқсат етіледі.

AhowZoom - пайдаланушыға тінтуір курсорымен диаграмманың немесе графиктің фрагменттерін кесу арқылы орындау уақытында кескін масштабын өзгертуге мүмкіндік береді. Егер фрагмент жақтауы оңға және төменге сызылған болса, онда бұл фрагмент бүкіл диаграмма өрісіне созылады. Ал егер жақтау жоғары және солға қарай сызылған болса, онда бастапқы масштаб қалпына келеді.

Тақырып – диаграмма тақырыбын анықтайды.

Аяқ – диаграмма астындағы жазуды анықтайды. Әдепкі бойынша ешқайсысы. Белгі мәтіні Text ішкі сипаты арқылы анықталады.

Frame – диаграмманың айналасындағы жақтауды анықтайды.

Объектілер инспекторында аталған көптеген сипаттардың қасында Диаграмма редакторының бір немесе басқа бетін шақыруға мүмкіндік беретін эллипсі бар түймелер бар - диаграммалардың барлық қасиеттерін орнатуға мүмкіндік беретін көп бетті терезе. Диаграмма өңдегішін шақыру компонентті екі рет басу арқылы да мүмкін болады диаграмманемесе оны басыңыз оң жақ түймешікті басыңызтінтуірді басып, қалқымалы мәзірден Диаграмманы өңдеу пәрменін таңдаңыз.

Жоғарғы компонентті екі рет басыңыз Диаграмма.Сіз Диаграмма өңдегішінің терезесіне бірнеше қойындысы бар Диаграмма бетіне барасыз. Ең алдымен, сізді ондағы Сериялар қойындысы қызықтырады. «Қосу» түймесін басыңыз - серияны қосыңыз. Сіз диаграмма немесе график түрін таңдауға болатын терезеге барасыз. Бұл жағдайда Pie – дөңгелек диаграмманы таңдаңыз. «Тақырыптар» қойындысын пайдаланып диаграмма тақырыбын орнатуға болады, «Мәндік белгі» қойындысы диаграмманың таңбашасы (таңбалар тізімі) үшін көрсету опцияларын орнатуға немесе оны экраннан мүлдем алып тастауға мүмкіндік береді, Панель қойындысы панельдің сыртқы түрін анықтайды. Диаграмма көрсетілетін 3D қойындысы диаграмманың көрінісін өзгертуге мүмкіндік береді: көлбеу, ығысу, қалыңдығы және т.б.

Диаграмма өңдегішімен жұмыс істеп, диаграмма түрін таңдаған кезде, құрамдас бөліктер диаграммапішініңіз оған енгізілген шартты деректермен сыртқы түрін көрсетеді. Сондықтан сіз өзіңіздің қолданбаңызға әртүрлі опцияларды қолданудың нәтижесін бірден байқай аласыз, бұл өте ыңғайлы.

Бірнеше қойындылары бар Сериялар беті сериялар үшін қосымша дисплей сипаттамаларын таңдауға мүмкіндік береді. Атап айтқанда, «Пішім» қойындысындағы дөңгелек диаграмма үшін «Дөңгелектелген дөңгелек» опциясын қосу пайдалы, ол диаграмманың Диаграмма құрамдас бөлігінің кез келген өлшемінде шеңбер түрінде көрсетілетінін қамтамасыз етеді. Белгілер қойындысындағы Мәнер тобының түймелері жеке диаграмма сегменттеріне қатысты белгілерде не жазылатынын анықтайды: Мән - мән, Пайыз - пайыздар, Белгі - деректер атаулары және т.б.

Қаласаңыз, Диаграмма бетінің Сериялар қойындысындағы Клондау түймешігін басу арқылы осы Диаграмма құрамдас бөлігіне басқа бірдей қатарды қосуға болады, содан кейін осы жаңа серия үшін Өзгерту түймесін басып, Жолақ сияқты басқа диаграмма түрін таңдаңыз. .

Диаграмма өңдегішінен шығыңыз, қолданбаңыздағы төменгі Диаграмма құрамдас бөлігін таңдап, Диаграмма өңдегішінің көмегімен оның параметр сипаттарын қайталаңыз. Бұл жағдайда диаграммада екі қисықты көрсеткіңіз келсе, екі қатарды көрсету керек және Сызық диаграмма түрін таңдаңыз. Біз графиктер туралы айтып отырғандықтан, осьтер мен графиктің үш өлшемді беттерінің координаталық сипаттамаларын орнату үшін Ось және Қабырғалар қойындыларын пайдалануға болады.

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

Көрсетілген мәндерді орнату үшін Series әдістерін пайдаланыңыз. Негізгі үш әдіске тоқталайық.

Әдіс Тазасерияны бұрын енгізілген деректерден тазартады.

Әдіс Қосу:

Қосу(Const AValue:Double; Const ALabel:String; AColor:TColor) ,

диаграммаға жаңа нүкте қосуға мүмкіндік береді. Параметр AV мәнқосылған мәнге, параметрге сәйкес келеді ALabel- диаграммада және легендада көрсетілетін белгі, AColor- түсті. Параметр ALabel- міндетті емес, оны бос орнатуға болады: ' '. Әдіс AddXY:

AddXY(Const AXValue, AYValue: Қос; Const ALabel: Жол; AColor: TColor)

функция графигіне жаңа нүкте қосуға мүмкіндік береді. Параметрлер AXValueЖәне AYМәнаргумент пен функцияны сәйкестендіріңіз. Параметрлер ALabel және AColorәдістегідей қосу.

Осылайша, біздің мысалдағы деректерді жүктеу процедурасы келесідей болуы мүмкін:

constAl=155; A2=251; A3=203; A4=404; var i:word; баста

Seriesl-мен бастаңыз

Қосу(Al,"Shop l",clYellow);

Қосу(A2,"Дизайн 2",clBlue);

Қосу(A3,"3-қабат",clRed);

Add(A4,"Design 4",clPurple); Соңы;

Series2.Clear; SeriesS.Clear; i:=0-ден 100-ге дейін басталады

Series2.AddXY(0,02*Pi*i,sin(0,02*Pi*i)

SeriesS.AddXY(0,02*Pi*i,cos(0,02*Pi*i) соңы;

ClRed); ,clBlue);

Операторлар Тазақолданбаның жұмысы кезінде деректерді жаңартқыңыз келсе, қажет.

Осымен біздің компонентке кіріспе аяқталады. Диаграмма.Рас, біз оның мүмкіндіктерінің аз ғана бөлігін қарастырдық.

Жеке слайдтардағы презентацияның сипаттамасы:

1 слайд

Слайдтың сипаттамасы:

2 слайд

Слайдтың сипаттамасы:

көрнекі орта Delphi бағдарламалау Windows сияқты графикалық пайдаланушы интерфейсін (GDI - Graphic Delphi Interface) қолдайды. Delphi-де графикалық ақпаратты бейнелеудің екі жолы бар: алдын ала дайындалған кескіндерді шығару; бағдарламадан сурет салу.

3 слайд

Слайдтың сипаттамасы:

Бірінші әдіс Image және Shape компоненттерін пайдалануға негізделген. Дайын суретті (пиктограмманы) пайдалануға немесе Image Editor көмегімен өзіңіз жасауға болады. Екінші әдіс - Canvas нысанын пайдаланып кескіндерді программалық түрде жасау.

4 слайд

Слайдтың сипаттамасы:

Delphi-дің қарамағында Canvas қасиеті ретінде пішімделген арнайы объекті бар. Ол қолданба жұмыс істеп тұрған кезде ғана қол жетімді, сондықтан оны тек жазу арқылы бағдарламаның ішінен басқаруға болады қалаған код Object Pascal тілінде. Егер нысанда Canvas қасиеті болса, оның бетіне сурет салуға болады. Бұл рөлге ең қолайлы үміткерлер пішіннің өзі және арнайы PaintBox компоненті болып табылады.

5 слайд

Слайдтың сипаттамасы:

Кенеп нысанының қасиеттері: Қалам (Қауырсын) – геометриялық фигуралардың сызықтары мен жиектерін салуға арналған қасиет. Қалам графикалық курсордың пәрмендерін орындайды және өз кезегінде өзінің кірістірілген қасиеттеріне ие: Түс – жолдың түсін анықтайды (әдепкі бойынша қара); Режим - сурет салу стилі (мұнда берілмеген көптеген мәндер бар); Стиль – келесі мәндерді қабылдай алатын сызық стилі: psSolid – тұтас (әдепкі бойынша); psDosh – үзік сызық; psDot – нүктелі сызық; psDoshDot – нүктелі сызықша (және басқа қасиеттер); Widh - сызық қалыңдығы (әдепкі 1 пиксель);

6 слайд

Слайдтың сипаттамасы:

Brush (Щетка) - келесі кірістірілген қасиеттері бар пішіндерді толтыруға арналған қасиет: Түс - қылқалам түсі (әдепкі - ақ); Стиль – қылқалам ою, ол келесі мәндерді қабылдай алады: bsClear – тұтас бояу; bs Horizontal – көлденең сызықтар; bsVertical – тік сызықтар; bsFDiagonal – сол жақ қиғаш сызықтар; bsBDiagonal - оң жақ қиғаш сызықтар; bsCross - ұяшық; bsDiagCross – қиғаш ұяшық;

7 слайд

Слайдтың сипаттамасы:

Font (Font) – мәтінді бейнелеуге арналған қасиет, оның келесі кірістірілген қасиеттері бар: Түс – символдардың түсі; Height – пиксельдегі шрифт биіктігі; Name – шрифт атауы; Size - шрифт өлшемі; Стиль – шрифт стилі, ол келесі мәндерді қабылдай алады: fsBold – қалың; fsItalic - курсив fsUnderline – асты сызылған fsStrikeOut - сызылған;

8 слайд

Слайдтың сипаттамасы:

PenPos (Қаламның орны) - ағымдағы сызба орнын сақтауға арналған сипат (қаламның сурет аймағындағы орнын анықтайды. осы сәтуақыт); Pixels – сызба аймағының жеке нүктелерінің координаталарын жазуға және оқуға арналған массив қасиеті («кенеп»).

9 слайд

Слайдтың сипаттамасы:

Canvas объектісінің әдістері MoveTo(x,y: integer) – қаламды ағымдағы орыннан берілген x, y координаталары бар нүктеге сызықсыз жылжытады; LineTo(х.у: integer) - қаламды ағымдағы орыннан берілген х, у координаталары бар нүктеге, түзу жүргізе отырып жылжытады; Arc(x1, y1, x2, y2, x3, y3, x4, y4: integer) - координаталары (x1, y1) және (x2, y2) тіктөртбұрышқа іштей сызылған эллипс доғасын салады. Доға (x3, y3) және (x4, y4) нүктелері арқылы өтетін эллипстің радиустары арқылы анықталады;

10 слайд

Слайдтың сипаттамасы:

Chord(x1, y1, x2, y2, x3, y3, x4, y4: integer) – Arc әдісі үшін сипатталғандай эллипс хордасын салады; Эллипс(x1, y1, x2, y2: integer) - жоғарғы сол жақ бұрышы (x1, y1) нүктесінде және төменгі оң жақ бұрышы (x2, y2) нүктесінде болатын тіктөртбұрышқа іштей эллипс салады; FillRect (Rect (x1, y1, x2, y2: integer)) - тіктөртбұрышты ағымдағы қылшықта көрсетілген түспен толтырады (Щетка). Берілген координаталардағы тіктөртбұрышты бейнелейтін Rect функциясын қолданады;

11 слайд

Слайдтың сипаттамасы:

FloodFill(x,y: integer; Color: TColor; FillStyle: TFillStyle) – Brush қасиетінде көрсетілген ағымдағы түспен толтыру: FillStyle=fsBorder көмегімен – x, y координаталары бар нүктеден бастап шекарамен анықталған шекараға дейінгі тұйық аймақ. Түс түсі; FillStyle=fsSurface көмегімен – Түс түсі бар беттің сол аймағы; Pie(x1, y1, x2, y2, x3, y3, x4, y4: integer) - координаталары (x1, y1) және (x2, y2) тік төртбұрышқа іштей сызылған эллипстің секторын салады. Сектор (x3, y3) және (x4, y4) нүктелері арқылы өтетін екі эллипс радиусымен анықталады;

12 слайд

Слайдтың сипаттамасы:

Polyline (Points: array of TPoint) – Points массивінің нүктелерін тізбектей қосу арқылы полисызық сызады; Көпбұрыш (Нүктелер: TPoint массиві) – Points массивінің нүктелерін тізбектей қосу арқылы көпбұрыштарды салады. Оның Polyline әдісінен айырмашылығы, ол полисызықтың соңын оның басына автоматты түрде қосады; Rectangle (x1, y1, x2, y2: integer) – жоғарғы сол жақ бұрышы (x1, y1) нүктесінде және төменгі оң жақ бұрышы (x2, y2) нүктесінде болатын тік төртбұрыш салады;

13 слайд

Слайдтың сипаттамасы:

Retresh – суретті қайта салу қажет болғанда әдіс шақырылады; RoundRect (x1, y1, x2, y2, x3, y3: integer) - бұрыштары дөңгелектенген тіктөртбұрышты салады. Бұрыштар ені x3 және биіктігі y3 болатын эллипстің төрттен бір бөлігі ретінде сызылған; TextOut (x, y:integer, Text:String) – Text параметрінде көрсетілген мәтінді шығару. Мәтін жоғарғы сол жақ бұрышында x, y координаталары бар тіктөртбұрышқа сәйкес келеді.

Visual Component Library (VCL) Delphi бізге графикалық ақпаратты көрсету үшін келесі визуалды компоненттерді ұсынады: Image (сурет), PaintBox (сызу терезесі), DrawGrid (суреттер кестесі), Chart (диаграммалар мен графиктер), Animate (шығару бейнеклиптері) , Сонымен қатар Пішін. Бұл құрамдастарда әрбір пикселге рұқсат беретін Canvas қасиеті (жоғарыда сипатталған) бар. Әрине, Delphi-де графикамен жұмыс істеу үшін пиксель-пиксель салудың қажеті жоқ, Delphi жүйесі графикамен жұмыс істеудің қуатты құралдарын ұсынады.

Жоғарыда аталған компоненттерді толығырақ қарастырайық:

Кескін компоненті (сурет)

Ол TImage класының объектісі болып табылады. Графикалық файлдардан оқылған кескіндерді көрсету үшін қолданылады. Әдепкі бойынша, ол *.bmp пішімінде ұсынылған пішін кескіндерінің бетінде көрсетіледі. Кескіндерді jpg пішімінде көрсету үшін JPEG модулін uses директивасына қосу керек. Ол Құрамдас палитрасының Қосымша қойындысында орналасқан.

Формаға Image компонентін орналастырғаннан кейін ол таңдалған төртбұрышты аймақтың пішінін алады.

9-сурет – Пішіндегі кескін компоненті

Қажетті кескінді таңдау диалогын ашу үшін Объектілер инспекторы арқылы келесі әрекеттерді орындаңыз. Ол үшін Picture қасиетін тауып, оның сол жағындағы үш нүктені шертіңіз. Сурет өңдегішінің терезесі ашылады және оған Жүктеу пәрменін таңдаңыз, ашылған терезеде сурет файлын таңдаңыз.

Мұны Picture қасиетінің LoadFromFile әдісін шақыру арқылы да бағдарламалы түрде жасауға болады:

Image1.Picture.LoadFromFile("name_pic.jpeg") ;

мұндағы name_pic.jpeg — файлдың аты.

Кесте 8 – Image компонентінің негізгі қасиеттері

Меншік

Сипаттама

Құрамдас өрісте кескін көрсетіледі

Компонент өлшемдері. Бұл өлшемдер иллюстрация өлшемінен кішірек болса және Strech, AutoSize және Proportional сипаттары False мәніне орнатылса, кескіннің бір бөлігі көрсетіледі.

Суреттерді бұрмалаусыз автоматты түрде масштабтауға мүмкіндік береді. Масштабтауды орындау үшін AutoSize қасиетінің мәні False болуы керек

Кескін компонентінің өлшеміне сәйкес кескінді автоматты түрде масштабтауға (сығуға немесе созуға) мүмкіндік береді. Егер құрамдас бөліктің өлшемі кескін өлшеміне пропорционал болмаса, онда кескін бұрмаланады.

Кескін өлшеміне сәйкес келетін құрамдастың өлшемін автоматты түрде өзгертуге мүмкіндік береді

Кескіннің ені компоненттің енінен аз болса, Image компонентінің өрісіндегі кескіннің орнын көлденеңінен анықтауға мүмкіндік береді.

Графиканы көрсетуге арналған бет

көрсетеді мөлдір түссурет фоны

1-мысал: Image компонентін пайдаланып кескінді қарау құралын жазыңыз. Бағдарламада келесі мүмкіндіктер болуы керек:

  • қалтадағы суреттерді қарау;
  • Кескінді толық көлемде немесе терезе өлшеміне ең қолайлы пішімде қарау;
  • · кескін файлдарын басқару, сонымен қатар суреттерді басып шығару, сақтау, жою және өзгерту;
  • қажет болса, өңдеу бағдарламасында суретті ашыңыз;

10-сурет – Бағдарламаны іске қосу алдындағы терезе

Жобаны құру:

  • 1. Бағдарлама файлдары үшін қалтаны жасаңыз және Delphi біріктірілген өңдеу ортасын іске қосыңыз.
  • 2. Пішінге компоненттерді қосыңыз:

Алдымен формаға Image компонентін орналастырамыз, онымен жұмыс істеуге тура келетін негізгі компонент. Оған қосымша бізге келесі компоненттер қажет:

  • · ScrollBox Толық өлшемді режимде кескін Кескіннің шегінен шыққанда қажет. Оның өлшемдері терезе өлшеміне пропорционалды түрде өзгеретіндей етіп, оның Aling қасиетіне alClient мәнін тағайындаймыз. Ал оған Image компонентін орналастырамыз;
  • · Біз сондай-ақ кескіндерді сақтау және ашу үшін SavePictureDialog және OpenPictureDialog диалогтық компоненттерін қосамыз. Бізге біріншісі кескінді таңдалған каталогқа көшіру үшін қажет, екіншісі - ашық диалогты шақыру үшін графикалық файл. Олар Компоненттер палитрасының Диалогтар бетінде орналасқан. Бұл беттен бізге PrintDialog компоненті де қажет, оны басып шығару үшін принтерді таңдау диалогтық терезесін шақыру керек.
  • Бағдарламаға негізгі мәзірді қосу үшін MainMenu және түрлі-түсті дизайн үшін XPManifest қосайық
  • · Сондай-ақ бізге жұмыс каталогындағы кескіндердің атауларын сақтау үшін бір жерде қажет. Осы мақсаттар үшін ListBox компоненті ыңғайлы, оны Form1 пішінінің Create оқиғасын өңдеу кезінде жасыруға болады.
  • Шарлау түймелерін орналастыру үшін және ыңғайлы жұмысолармен біз перде панелін қосамыз, оған біз осы түймелерді орналастырамыз (Алдыңғы сурет, Келесі сурет, Шынайы өлшем, Өлшемге сәйкес, Жою, Көшіру, Басып шығару, Өңдеу). Олар үшін құрамдас ретінде SpeedButton таңдалған.
  • · «Солға» (алдыңғы сурет), «Оңға» (келесі сурет) және «Del» (суретті жою) пернелерін басып ұстап тұру үшін таймер қосыңыз.
  • · Және тағы бір компонент – ProgressBar, ол үлкен *.Jpg файлдарды жүктеу процесін көрсетеді.
  • 3. Түймені басу оқиғасын өңдеуге арналған кодты жазыңыз (Алдыңғы сурет, Келесі сурет, Шынайы өлшем, Өлшемге сәйкестендіру, Жою, Көшіру, Басып шығару, Өңдеу). Басты меню мәзірінің пункттерін (Шығу, Ашу, Жабу, Жасау) басу оқиғасын өңдеуге арналған кодты жазыңыз.
  • 4. Пішінді құрудың бастапқы параметрлерін орнатыңыз. Пішіннің бос жеріне екі рет басыңыз және TForm1.FormCreate(Sender:TObject) процедурасының кодының процедурасын жазыңыз, 1-қосымшадағы модуль кодын қараңыз.
  • 5. Келесі формадағы процедураларды жазыңыз:

процедурасы FindFileInFolder(жол, ішкі: жол);

Бұл процедура ext маскасы бар файлдар үшін жол қалтасын сканерлейді.

Бағдарлама модулінің толық код тізімі 1-қосымшада (Бағдарламалар тізімі 3) орналасқан.

  • 1. Image компонентінің мүмкіндіктерін көрсетіңіз.
  • 2. Image компоненті қандай класс объектісі болып табылады?
  • 3. 3. Image компоненті әдепкі бойынша қандай файл түрін қолдайды?
  • 4. 4. Image компонентінің негізгі қасиеттерін көрсетіңіз.
  • 5. 5. Image компонентінің кескіні қандай қасиетте сақталады?

Графикалық ақпаратты бейнелеуге арналған компоненттер тізімі

Графикалық ақпаратты бейнелеу үшін Delphi кітапханасы компоненттерді ұсынады, олардың тізімі 4.1-кестеде келтірілген.

Кесте 4.1 Графикалық ақпарат дисплей компоненттері Пиктограмма

Құрамдас

Бет

Сипаттама

Сурет (сурет)

Графиктерді көрсету үшін қолданылады: белгішелер, нүктелік кескіндер және метафайлдар.


PaintBox (сурет салуға арналған терезе)

Пішінде сурет салуға болатын аумақты құру үшін қолданылады.


DrawGrid (сызу кестесі)

Жолдар мен бағандарда мәтіндік емес деректерді көрсету үшін қолданылады.


Диаграмма (диаграммалар мен графиктер)

Компонент диаграммалар мен графиктерді құру үшін қолданылатын TChart компоненттер тобына жатады.


Сондай-ақ кез келген кенептің бетінде графикалық ақпаратты көрсетуге және енгізуге болады.

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

Кенеп - бұл дайын кескіндерді салуға немесе көрсетуге болатын құрамдас бөлігі. Ол Delphi графикасын айтарлықтай жеңілдететін қасиеттер мен әдістерді қамтиды. Жүйемен барлық күрделі өзара әрекеттесу пайдаланушы үшін жасырылған, сондықтан компьютерлік графикада мүлде жетілмеген адам Delphi-де сурет сала алады.

Кенептің әрбір нүктесінің координаттары бар XЖәне Ы. Кенеп координаттар жүйесі Delphi-дегі барлық жердегі сияқты кенептің сол жақ жоғарғы бұрышынан басталады. Координат Xсолдан оңға қарай жылжытқанда артады және координат Ы- жоғарыдан төменге жылжытқанда. Координаталар пикселдермен өлшенеді. Пиксель - сызба бетіндегі өңдеуге болатын ең кіші элемент. Пиксельдің ең маңызды қасиеті оның түсі.

Кенептің қасиеті бар Пиксельдер. Бұл сипат кенептің түстерін басқаратын 2D массиві болып табылады. Мысалға, Кенеп. Пиксельдерсол жақтан 10-шы және жоғарыдан 20-шы пиксельдің түсіне сәйкес келеді. Пикселдер жиымын кез келген сипат ретінде қарастыруға болады: пикселге жаңа мән беру арқылы түсті өзгерту немесе оның түсін онда сақталған мәннен анықтау. Мысалға, Кенеп. Пиксельдер:=0немесе Кенеп. Пиксельдер:=clҚара- бұл қара пиксельге арналған тапсырма.

Меншік Пиксельдеркенепте сурет салу үшін пайдалануға болады. Кескін кенепте синус толқынының пиксель-пиксель графигін салуға тырысайық. Мұны істеу үшін пішін оқиғасының өңдегішінде OnPaint(сызба) келесі кодты енгізуге болады:

Tform1. FormPaint(Жіберуші: TObject);

var,Y: нақты; // функция координаталары,PY: longint; // пиксель координаттары

баста:=clWhite;

үшін PX:=0 дейін ClientWidth істеу

(X - сюжеттік аргумент,

:=PX*4*Pi/ClientWidth;:=Sin(X);

(PY - пиксель координаты,

:=trunc(ClientHeight - (Y+1) *ClientHeight/2);

(Таңдалғанның түсін орнатады

пиксел (Жарықтық туралы) ). Пиксельдер:=0;

Соңы;

Осы сынақ қолданбасын іске қосыңыз және сіз 4.1 а суретте көрсетілген нәтижені көресіз. Синусоидтық график өте жақсы болмаса да, шықты, өйткені. жеке нүктелерге - пикселдерге бөлінген.

Кенеп – класс объектісі TCanvasқасиетін пайдаланып графиктерді, сызықтарды, фигураларды салуға мүмкіндік беретін көптеген әдістері бар Қалам- қауырсын. Бұл қасиет объект болып табылады, ол өз кезегінде бірқатар қасиеттерге ие. Олардың бірі - сіз бұрыннан білетін мүлік түсі- сызба қолданылатын түс. Екінші қасиет Ені(сызық ені). Ені пикселдерде көрсетілген. Әдепкі ені - 1.

Меншік стильсызықтың түрін анықтайды. Бұл сипат келесі мәндерді қабылдай алады:

Кенептің қасиеті бар PenPosтүрі TPoint(см .). Бұл сипат қаламның кенеп координаттарындағы ағымдағы орнын анықтайды. Сызықсыз қаламды жылжыту, т.б. өзгерту PenPos, кенеп әдісімен өндірілген Жылжыту(X,Y).Мұнда ( X, Y) -қалам қозғалатын нүктенің координаталары. Бұл ағымдағы нүкте бастапқы нүктеге айналады, одан әдіс LineTo(X,Y)координаттары бар нүктеге түзу жүргізуге болады ( X,Y).Бұл ағымдағы нүктені жолдың соңғы нүктесіне және жаңа қоңырауға жылжытады LineToосы жаңа ағымдағы нүктеден нүкте салады.

Алдыңғы мысалдағы синус графигін қаламмен салып көрейік. Бұл жағдайда пішін оқиғасының өңдегіші OnPaintкөрінуі мүмкін:

процедура Tform1. FormPaint(Жіберуші: TObject);

var,Y: нақты; // функция координаталары,PY: longint; // пиксель координаттары

баста:=clWhite;. MoveTo(0,ClientHeight div 2);

үшін PX:=0 дейін ClientWidth істеу

(X - сюжеттік аргумент,

px координатасы бар пикселге сәйкес):=PX*4*Pi/ClientWidth;:=Sin(X);

(PY - пиксель координаты,

Y координатасына сәйкес):=trunc(ClientHeight - (Y+1) *ClientHeight/2);

(Графикте сызық сызылған). LineTo(PX,PY);

Қолданбаның нәтижесін осы нұсқада 4.1 б суретінен көруге болады. Көріп отырғаныңыздай, графиктің сапасы айтарлықтай жақсарды.

Қалам тек түзу сызықтарды ғана емес, фигураларды да сала алады. Қаламға негізделген кенеп әдістерінің толық тізімін Delphi кірістірілген анықтамасынан қараңыз. Бұл арада мысал ретінде олардың тек біреуін ғана келтіреміз - ЭллипсЭллипс немесе шеңбер сызатын A. ретінде жарияланады

процедураЭллипс(X1, Y1, X2, Y2: бүтін сан);

мұндағы параметрлер X1, X2, Y1, Y2эллипсті немесе шеңберді сипаттайтын тіктөртбұрыштың координаталарын анықтау. Мысалы, оператор

Эллипс(10, 40, 20, 50);

диаметрі 10 және центрі координаталары (15, 45) болатын шеңбер сызады.

Пішіндер әдетте бос емес, кенеп сипатын пайдаланып толтырылады Щетка- щетка. Меншік Щеткаөз кезегінде бірқатар қасиеттерге ие объект болып табылады. Меншік түсітолтыру түсін анықтайды. Меншік стильтолтыру үлгісін (штрихтау) анықтайды. Әдепкі мән стильтең bsSolid, бұл тұтас бояуды білдіреді түсі.

Қаламда ҚаламБіз әлі қарастырмаған тағы бір мүлік бар. Бұл қасиет режимі(режим). Әдепкі мән Режим = pmCopy. Бұл сызықтар сипатта көрсетілген түсте сызылғанын білдіреді түсі. Бірақ басқа режимдер де мүмкін, оларда тек түс ескерілмейді түсі, сонымен қатар сәйкес фон пикселдерінің түсі. Бұл режимдердің ең қызықтысы - режим pmNotXor- кері эксклюзивті НЕМЕСЕ арқылы фонмен қосу. Егер бұл режим орнатылса, кенептің сол жерінде сол пішінді қайтадан салу бұрын салынған кескінді жояды және кескіннің бірінші сызбасына дейін болған пиксельдік түстерді қалпына келтіреді.

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

Өзіңізді қарапайым анимация жасауға тырысыңыз - қозғалатын шеңбер. Жаңа қолданбаны іске қосып, бөлімге өтіңіз жүзеге асыружарнаманы енгізу

X,Y: бүтін;

Бұл жаһандық айнымалыларды енгізеді XЖәне Ы- ағымдағы кескін координаталары.

Пішін оқиғасында OnPaintмәлімдемелерді енгізу

Щетка. Түс:=clWhite;:=clWhite;. Қалам. Режим:=pmNotXor;

Осы операторлардың біріншісі қылқаламның түсін ақ етіп орнатады. Щетка. Осылайша сіздің шеңберіңіз ақ түспен боялады. Екінші мәлімдеме пішін бетінің өң түсін ақ етіп орнатады.

Үшінші мәлімдеме қалам режимін орнатады pmNotXor, бұл жаңа сурет салмас бұрын ескі кескінді өшіруге мүмкіндік береді.

Тіпті ең қарапайым анимация синхрондау қажет. Әйтпесе, қозғалыс жылдамдығы компьютердің жылдамдығымен анықталады. Сондықтан компонентті пішінге көшіріңіз таймер- Жүйеден таймер. Бұл компонент 5.7 бөлімінде сипатталған .

Сіз оны сол жерден көре аласыз толық сипаттама. Әзірге оның сипатын орнатыңыз Аралықтең, мысалы, 30 (бұл миллисекундтағы экспозиция уақыты, бірақ шынайы уақытысырма жылдамдығы ұзағырақ болады - 5.7 бөлімін қараңыз) және сипатты орнатыңыз Қосылғантең жалған(бұл қолданба іске қосылғанда таймер автоматты түрде қосылмайтынын білдіреді).

Осы компоненттің оқиға өңдегішінде OnTimerмәлімдемелерді енгізу

// Ескі суретті өшіру. Эллипс(X-5, Y, X+5, Y-1Q);(X);

// Жаңа сурет салу. Эллипс (X-5, Y, X+5, Y-10);

// Пішіннің соңына жеткенде тоқтатыңыз

егер(X >= ClientWidth-20) содан кейін. қосылған:=жалған;

Осы операторлардың біріншісі бұрын сызылған жерде шеңбер сызады, яғни. алдыңғы суретті өшіреді.

Соңғы оператор пішіннің шетіндегі кескінді тоқтатады.

Енді пішінге түймені қосыңыз. түймесіжәне оған басу өңдегішінде операторларды орналастырыңыз

X: =10;: =100;. Эллипс(X-5, Y, X+5, Y-10); қосулы:=true;

Алғашқы екі оператор шеңбердің бастапқы координаталарын орнатады. Үшінші оператор шеңберді бастапқы орнында салады, ал төртіншісі таймерді бастайды.

Қолданбаны аударыңыз, оны іске қосыңыз, түймені басыңыз. Сіз пішін бойынша солдан оңға қарай қозғалатын шеңбер кескінін көресіз. Содан кейін қиялыңызды байланыстырыңыз және бұл өте қызықты емес қолданбаны одан да қызықты нәрсеге айналдырыңыз.

Кенепте сіз тек бағдарлама арқылы жасалған кескіндерді ғана емес, сонымен қатар графикалық файлдарда сақталған кескіндерді де көрсете аласыз. Тек кенептің өзінде файлдан суретті жүктеу әдісі жоқ. Сондықтан файлды басқа біреуге жүктеп салу керек графикалық объект, графикалық файлдардың ақпаратын қабылдауға қабілетті. Содан кейін кенеп әдісі арқылы осы нысандағы кескінді кенепке қайта жазыңыз Сурет салу. Оның сипаттамасы:

Draw(X, Y: Integer; Graphic: TGraphic);

Мұнда параметрлер XЖәне Ыкенепте кескінді орналастырудың жоғарғы сол жақ бұрышының координаталарын анықтау, а Графика- ақпаратты сақтайтын объект. Мұндай объект, мысалы, типті объект болуы мүмкін TBitMap, бит матрицаларын сақтауға арналған. Мұның бәрі іс жүзінде қалай көрінетінін көрейік.

Жаңа қолданбаны ашыңыз, компонентті пішінге сүйреңіз OpenPictureDialogДиалогтар бетінен (бұл графикалық файлдарды ашуға арналған диалогтың құрамдас бөлігі – 8.2. бөлімін қараңыз ) және түйме түймесі. Пост OpenPictureDialogпішіннің кез келген жерінде, себебі бұл компонент визуалды емес және түймені пішіннің төменгі жағына қойыңыз. Түймені басу өңдегішіне келесі кодты енгізіңіз:

процедура Tform1. Button1Click(Жіберуші: TObject);

var:TBitMap;

// Пайдаланушы графикалық файлды таңдау

егер OpenPictureDialog1. Орындау содан кейін

// TBitMap типті BitMap нысанын жасаңыз:=TBitMap. құру;

// Кескінді кенеп пішініне тасымалдау. Draw(10, 10, нүктелік сурет);

// BitMap нысанын жойыңыз. Тегін;

Соңы;

Бұл код түрдегі уақытша нысанды жасайды TBitMapАтымен нүктелік сурет. Содан кейін графикалық файлды ашу диалогы шақырылады. OpenPictureDialog1және, егер пайдаланушы файлды таңдаған болса, ол оған жүктеледі нүктелік суретәдіс LoadFromFile. Содан кейін әдіс Сурет салужүктелген сурет сол жақ жоғарғы бұрыштың координаталары бар аймақта кенепке көшіріледі (10,10). Осыдан кейін уақытша нысан нүктелік суретжойылады.

Қолданбаны іске қосыңыз және оның түймесін басыңыз. Сіз графикалық файлдың кез келген түрін жүктей алатыныңызды көресіз. bmpжәне ол пішін кенепте көрсетіледі (4.2 а-суретті қараңыз). Графикалық файлдарды Images каталогында табуға болады. Delphi 5 және 4-те ол әдетте каталогта орналасады. \бағдарлама файлдары\Common Files\Borland Shared. Delphi 3-те ол каталогта орналасқан. \program files\Borland\Delphi 3, ал Delphi 1-де - Delphi 16 каталогында. Images каталогында, атап айтқанда, 4.2-сурет мысалында жүктелген файлды сақтайтын \Images\Splash\16Color\ ішкі каталогы бар.

Сіз графикалық файлдарды қарауға арналған тамаша қолданба жасадыңыз. Бірақ енді оның негізгі кемшілігін көруге тырысайық. Қолданбаңызды жаппай, басқа бағдарламаға өтіңіз, мысалы, Delphi-ге оралыңыз. Содан кейін ештеңе жасамай, іске қосылған қолданбаға оралыңыз. Егер сіз қалдырған бағдарламаның терезесі қолданбаңыздың терезесін толығымен жауып тастаса, оған оралған кезде терезедегі суреттің жоғалып кеткенін көресіз. Қолданбаңыздың терезесі тек ішінара қабаттасса, қолданбаңызға қайтып келгенде, 4.2 b-суретте көрсетілгенге ұқсас нәтижені көре аласыз.

Егер қандай да бір басқа қолданбаның терезесі қолданбаңыздың терезесімен уақытша қабаттасып жатса, пішін кенепінде салынған кескін бүлінгенін көресіз. Осы кемшілікті қалай түзететінімізді көрейік.

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

Қайта сызу жасауға болады әртүрлі жолдарқолданбаға байланысты. Біздің мысалда біз айнымалы мәлімдеме жасай аламыз нүктелік сурет(оператор var BitMap: TBitMap) жоғарыдағы процедурадан тыс, яғни. бұл айнымалыны тікелей бөлімге орналастыру арқылы жаһандық етіңіз жүзеге асыру. Оператор нүктелік сурет. Тегінпішін оқиғасының өңдеушісіне жылжытуға болады OnDestroyбұл қолданба жабылған кезде орын алады. Содан кейін, қолданбаңыздың бүкіл орындалу уақытында сізде компоненттегі суреттің көшірмесі болады нүктелік суретжәне сіз жай ғана оқиға өңдегішіне кіруіңіз керек OnPaintтек бір операторды құрайды:

Draw(10, 10, нүктелік сурет);

Мұны орындаңыз, сонда сіз пішіндегі кескіннің ешқандай терезе қабаттасуы арқылы нашарламайтынын көресіз.

Қарастырылған әдіске қосымша Сурет салукенепте басқа көшіру әдісі бар CopyRect:

CopyRect(Dest: TRect; Кенеп: TCanvas; Дереккөз: TRect);

Әдіс көрсетілген параметрді көшіреді Дереккөзкескін көзінің кенептегі кескін аймағы Кенепкөрсетілгенге дейін Тағайындаубұл кенептің ауданы. Түр TRectтікбұрышты аумақтарды сипаттайды ДереккөзЖәне Тағайындау, 3.2 бөлімінде сипатталған .

Мысалы, оператор

CopyRect(MyRect2, Bitmap.Canvas, MyRect1);

аймақтағы пішіннің кенептеріне көшіреді MyRect2аймақтан алынған сурет MyRect1құрамдас кенеп нүктелік сурет.

Көшіру әдісі CopyRectсипат белгілеген режимде өндіріледі Көшіру режимі. Әдепкі бойынша, бұл сипат келесіге орнатылған cmSrcCopy, бұл аймақта бұрын қамтылған кескінді жай ғана ауыстыруды білдіреді Тағайындау, көшірілген суретте. Басқа мүмкін мәндер Көшіру режимісуреттерді біріктіруге мүмкіндік береді, бірақ оларды қарастыру бұл кітаптың ауқымынан тыс.

Біз кенепте графикалық ақпаратты шығару туралы осы негізгі ақпаратпен шектелеміз. 3.2-бөлім мәтіннің кенепке шығуы туралы ақпарат берілді. Жалпы алғанда, кенеп - бұл күрделі объект, оның көптеген қасиеттері мен әдістері бар. Бірақ бұл кітаптың ауқымынан тыс егжей-тегжейлі талқылауды қажет етеді. Delphi туралы барлығы сериясының келесі кітабы осы мәселелерді толығырақ қарастырады.

Сипатқа ие терезе компоненті Кенеп- кенеп.

Image және PaintBox компоненттері

Құрамдас бөліктер КескінЖәне бояу қорабы 4.2 бөлімінде сипатталғандай кескіндерді енгізуге болатын кенеппен кейбір шектеулі бетті білдіреді . Сонымен бірге құрамдас бояу қорабы, шын мәнінде, пішінді кенепте сурет салумен салыстырғанда жаңа ештеңе бермейді. Сурет салу бояу қорабыпішіннің орнына терезе аймағында бір немесе бірнеше сызбаларды орналастырудағы кейбір рельефтерді қоспағанда, артықшылығы жоқ.

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

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

Метафайлдар кескінді құрайтын биттердің тізбегін сақтамайды, бірақ кескіннің қалай жасалғаны туралы ақпаратты сақтайды. Олар кескінді қайта жасау кезінде қайталанатын сурет салу командаларының тізбегін сақтайды. Бұл әдетте растрлық кескіндерге қарағанда мұндай файлдарды ықшам етеді.

Құрамдас Кескінбарлық көрсетілген түрдегі графикалық файлдардағы ақпаратты көрсетуге мүмкіндік береді. Бұл үшін оның қасиеті сурет- типтік объект Сурет.

4.3-суретСурет редакторының терезесі


Бұл қасиетпен танысу үшін жаңа қосымшаны ашып, компонентті формаға көшіріңіз Кескін. Оны созыңыз немесе оның қасиетін орнатыңыз Туралаутең alClientол пішіннің бүкіл клиент аймағын алатындай етіп. Сипаттың жанындағы эллипсі бар түймені басыңыз сурет Object Inspector терезесінде немесе жай ғана екі рет басыңыз Кескін. Сіздің алдыңызда «Сурет редакторының» терезесі ашылады (4.3-сурет), бұл сипатқа жүктеуге мүмкіндік береді. суреткейбір графикалық файлды (Жүктеу түймесі), сонымен қатар сақтаңыз файлды ашыңызжаңа атпен немесе жаңа каталогта. Графикалық файлды жүктеу үшін «Жүктеу» түймесін басыңыз. Сіз 4.4-суретте көрсетілген графикалық файлды ашуға арналған терезені көресіз.Графикалық файлдар тізімінде курсорды жылжытқанда оң жақ терезеде олардағы суреттер, ал олардың үстінде - өлшемін сипаттайтын сандар көрсетіледі. сурет. Қажетті графикалық файлдың кез келген түрін таңдауға болады. Еске салайық, Delphi-мен қамтамасыз етілген графикалық файлдарды Images каталогында табуға болады. Delphi 5 және 4-те ол әдетте каталогта орналасады. \бағдарлама файлдары\Common Files\Borland Shared. Delphi 3-те ол каталогта орналасқан. \program files\Borland\Delphi 3, ал Delphi 1-де Delphi 16 каталогында.Файл жүктелгеннен кейін Picture Editor терезесінде және өз компонентіңізде OK түймесін басыңыз. Кескінсіз таңдаған сурет көрсетіледі. Сіз қолданбаңызды іске қосып, оны таңдай аласыз. Дегенмен, сіз қолданбаны іске қоспасаңыз да, суретті көріп тұрсыз.

Дизайн кезінде файлдан суретті құрамдас бөлікке жүктегенде Кескін, ол оны көрсетіп қана қоймай, қолданбада сақтайды. Бұл қолданбаны бөлек графикалық файлсыз жіберу мүмкіндігін береді. Дегенмен, кейінірек көретініміздей, в Кескінқолданба жұмыс істеп тұрған кезде де сыртқы графикалық файлдарды жүктеуге болады.

Компоненттің қасиеттерін қарастыруға оралайық Кескін.

Егер сіз сипатты орнатсаңыз автоматты өлшемжылы шын, содан кейін құрамдас өлшемі Кескіноған орналастырылған кескіннің өлшеміне автоматты түрде сәйкес келеді. Мүлік болса автоматты өлшеморнатылған жалған, онда сурет құрамдас бөлікке сәйкес келмеуі мүмкін немесе, керісінше, құрамдас бөлігінің ауданы кескіннің ауданынан әлдеқайда үлкен болуы мүмкін.

Басқа мүлік - Созуқұрамдас бөлікті сурет өлшеміне емес, суретті компонент өлшеміне сәйкес келтіруге мүмкіндік береді. Орнату автоматты өлшемжылы жалған, құрамдас өлшемін созу немесе кішірейту Кескінжәне орнату Созужылы шын. Сіз сызба құрамдас бөліктің бүкіл аумағын алатынын көресіз, бірақ өлшемдерді нақты орнату екіталай Кескінсурет өлшеміне дәл пропорционал болса, сурет бұрмаланады. Орнату Созужылы шынкейбір үлгілер үшін ғана мағыналы болуы мүмкін, бірақ суреттер үшін емес. Меншік Созуөлшемін өзгертуге болмайтын нобай кескіндеріне әсер етпейді.

Мүлік - Орталықорнату шын, кескінді аймақтың ортасына қояды Кескінегер құрамдас бөліктің өлшемі суреттің өлшемінен үлкен болса.

Басқа мүлікті қарастырыңыз - Мөлдір(мөлдірлік). Егер Мөлдіртең шын, содан кейін ішіндегі сурет Кескінмөлдір болады. Бұл кескіндерді бір-бірінің үстіне қою үшін пайдаланылуы мүмкін. Екінші компонентті пішінге орналастырыңыз Кескінжәне оған басқа суретті жүктеңіз. Аздап толтырылған, контурлық суретті түсіріп көріңіз. Мысалы, әдетте түймелерде орналастырылғандардың ішінен суретке түсіруге болады, мысалы, көрсеткі (file.\program files\common files\borland shared\images\buttons\arrow1l.bmp). Өзіңізді жылжытыңыз Кескінолар бір-бірімен және жоғарғы құрамдас жиынтықта қабаттасатындай етіп Мөлдіртең шын. Жоғарғы сурет енді төменгі суретті жасырмайтынын көресіз. Бұл қасиеттің мүмкін болатын қосымшаларының бірі разрядтық матрица түрінде жасалған кескінге жазуларды енгізу болып табылады. Бұл жазуларды ендірілген Delphi Image Editor бағдарламасы арқылы жасауға болады.

Меншік екенін ескеріңіз Мөлдіртек разрядтық матрицаларға қолданылады. Бұл ретте растрлық кескіннің төменгі сол жақ пикселінің түсі әдепкі бойынша мөлдір болады (яғни оның астындағы суреттің түсімен ауыстырылады).

Дизайн процесінде файлдан суретті жүктеуді қарастырдық. Бірақ мүлік суретсонымен қатар қолданбаны орындау барысында кез келген түрдегі графикалық файлдармен алмасуды оңай ұйымдастыруға мүмкіндік береді. Мұндай айырбастың техникасын түсіндіру үшін алдымен мүлікті толығырақ қарастыру керек сурет.

Бұл қасиет нысан болып табылады, оның өз кезегінде сақталған графикалық объектіні көрсететін ішкі сипаттары бар. Егер кірсе суретразрядтық матрица сақталады, ол сипат арқылы көрсетіледі сурет. нүктелік сурет. Белгіше сақталса, ол сипат арқылы көрсетіледі сурет. белгішесі. Сақталған метафайл сипат арқылы көрсетіледі сурет. Метафайл. Соңында, ерікті түрдегі графикалық объект сипат арқылы көрсетіледі сурет. Графика.

Объект суретжәне оның қасиеттері нүктелік сурет, белгішесі, МетафайлЖәне Графикаәдістері бар файлды оқужәне жазбалар LoadFromFileЖәне SaveToFile:

процедура LoadFromFile( constфайл атауы: жол);

процедура SaveToFile( constфайл атауы: жол);

Меншіктер үшін сурет. нүктелік сурет, сурет. белгішесіЖәне сурет. Метафайлфайл пішімі нысан класына сәйкес болуы керек: нүктелік кескін, белгіше, метафайл. Файлды сипатқа оқу кезінде сурет. Графикафайл метафайл пішімінде болуы керек. Ал объектінің өзі үшін суретоқу және жазу әдістері файл түріне автоматты түрде реттеледі. Мұны мысалмен түсіндірейік.

4.2 бөлімінде қарастырылған графикалық файлдарды қарау мысалына ұқсас қосымшаны құрастырайық. Өзгерту үшін оны басқаруды түймемен емес ұйымдастыруға болады түймесі, бірақ мәзір. Пішінге компонентті орналастырыңыз Кескін. Оны созыңыз немесе оның қасиетін орнатыңыз Туралаутең alClientол пішіннің бүкіл клиент аймағын алатындай етіп. Графикалық файлды ашу диалогтық терезесінің құрамдас бөлігін пішінге апарыңыз OpenPictureDialog(8.2 бөлімін қараңыз ). Формаға негізгі мәзір компонентін де орналастырыңыз негізгі мәзір(6.1 бөлімін қараңыз ) және оған бір бөлімді орнатыңыз - Файл. Осы бөлімнің өңдеушісіне мәлімдеме жазыңыз

(OpenPictureDialog1.Execute) содан кейін. сурет. LoadFromFile(.FileName);

Бұл оператор графикалық файлды ашуға арналған диалогты шақырады (4.4 суретті қараңыз) және компонентке жүктейді Сурет 1пайдаланушы таңдаған файлдағы сурет (4.5-суретті қараңыз). Сонымен қатар, файл кез келген типті болуы мүмкін: нүктелік кескін, белгіше немесе метафайл.

4.5-суретКомпоненттегі кескін Кескінразрядтық матрица (a) және пиктограмма (6)



Бұл қолданбада әдіс LoadFromFileқолданылады Сурет 1. сурет. Тек растрлық файлдар ашылатын болса, файлды жүктеу мәлімдемесін келесімен ауыстыруға болады

сурет. нүктелік сурет. LoadFromFile(.FileName);

Пиктограммалар үшін операторды пайдалануға болады. сурет. белгішесі. LoadFromFile(.FileName);

және метафайлдар үшін оператор. сурет. метафайл. LoadFromFile(.FileName);

немесе. сурет. графика. LoadFromFile(.FileName);

Бірақ барлық осы жағдайларда, егер файл пішімі жоспарланғанға сәйкес келмесе, қате пайда болады. Әдіс дәл осылай жұмыс істейді. SaveToFileқолданылатын айырмашылықпен суретнемесе сурет. Графикаол файлда кез келген пішімдегі кескінді сақтайды. Мысалы, қолданбаға диалогты қоссаңыз SavePictureDialog(8.2 бөлімін қараңыз ), мәзірдегі Басқаша сақтау бөлімін енгізіңіз және операторды оның өңдегішіне орналастырыңыз

SavePictureDialog1. Орындау содан кейін. сурет. SaveToFile(SavePictureDialog1.FileName);

содан кейін пайдаланушы кез келген форматтағы кескінді жаңа атаумен файлға сақтай алады. Тек осы жағдайда, әрі қарай шатастырмау үшін сақталған файлдың кеңейтімі әлі де сақталған кескіннің пішіміне сәйкес болуы керек.

Сақтау операторын ауыстырсаңыз, бағдарлама кез келген форматтағы кескіндер үшін мүлдем бірдей жұмыс істейді

сурет. графика. SaveToFile(.FileName);

мүлікті пайдалану сурет. Графика. Ал егер сіз компонентте сақталған форматты білсеңіз Кескінкескіндер, содан кейін әдісті қолдануға болады SaveToFileқасиеттерге сурет. нүктелік сурет, сурет. белгішесіЖәне сурет. Метафайл.

Барлық қарастырылатын объектілер үшін сурет, сурет. нүктелік сурет, сурет. белгішесіЖәне сурет. Метафайлнысан мәндерін тағайындау әдістері анықталған:

Assign(Дереккөз: TPersistent);

Дегенмен, үшін нүктелік сурет, белгішесіЖәне Метафайлтек біртекті объектілердің мәндерін тағайындауға болады: сәйкесінше, разрядтық матрицалар, пиктограммалар, метафайлдар. Біртекті емес нысандарға мәндерді тағайындау әрекеті кезінде ерекшелік тасталады ЕConverterror. Объект сурет- әмбебап, оған қалған үш класстың кез келгенінің объектілерінің мәндерін беруге болады. Және мағынасы суреттүрі онда сақталған нысан түріне сәйкес келетін нысанға ғана тағайындалуы мүмкін.

Әдіс Тағайындауаралық сақтағыш буферімен кескіндерді ортақ пайдалану үшін де пайдалануға болады. Мысалы, оператор

Assign(Image1.Picture);

сақталған кескінді алмасу буферіне орналастырады Сурет 1. Сол сияқты оператор

графикалық delphi кескін қолданбасы

Сурет 1. сурет. Тағайындау (айырбастың буфері);

ішінде оқитын болады Сурет 1алмасу буферіндегі сурет. Сонымен қатар, бұл кез келген сурет және тіпті мәтін болуы мүмкін.

Алмасу буферімен жұмыс істегенде операторға кірістіруді есте сақтау қажет пайдаланадысіздің модуліңіз модульге сілтеме clipbrd. Delphi бұл сілтемені автоматты түрде енгізбейді.

Компоненттің қасиеттері дегенге қайта келу Кескін, біз 4.5-суретте көрсетілген сынақ қолданбасына тән бір кемшілікті атап өтуге болады. Әртүрлі кескіндерді жүктеген кезде қолданба терезесінің өлшемі не тым кішкентай болып шығуы мүмкін, содан кейін сіз суреттің бір бөлігін ғана көресіз немесе тым үлкен және содан кейін кескін пішіннің жоғарғы сол жақ бұрышында көп бос орын қалдырып, ұсқынсыз орналасады. Бұл кемшілікті қасиеттерді пайдалану арқылы жоюға болады Биіктігі(биіктігі) және Ені(ені) компоненті Кескін. Меншікте автоматты өлшемжылы құрылған шынөлшемдері Кескінжүктеп салынған кескіннің өлшеміне автоматты түрде орнатылады. Және бұл өлшемдерді сәйкес пішіннің өлшемін өзгерту үшін пайдалануға болады. Мысалы, файлдан суретті жүктеуге арналған жоғарыдағы кодты келесімен ауыстыруға болады:

OpenPictureDialog1. Орындау содан кейін

баста. сурет. LoadFromFile(.FileName);. ClientHeight:= Image1. Биіктігі+10;. Жоғарғы:=1-форма. ClientRect. Жоғарғы

+ (Form1.ClientHeight - Image1.Height) div 2;. ClientWidth := Image1. Ені+10;. Сол жақ:=1-пішін. ClientRect. Сол

+ (Form1.ClientWidth - Image1.Width) div 2;

Соңы;

Бұл код пішіннің клиент аймағының өлшемін құрамдас өлшемінен сәл үлкенірек орнатады. Сурет 1, бұл өз кезегінде қасиетіне байланысты кескін өлшеміне бейімделеді автоматты өлшем. Бұл түзетулерді қолданбаңызға қолданыңыз, оны іске қосыңыз және пішіннің жүктеп салынған кескін өлшеміне автоматты түрде бейімделетінін көріңіз

Пішін компоненті

Құрамдас пішінграфикалық ақпаратты көрсету құралына шартты түрде ғана жатқызуға болады, өйткені ол жай ғана қолайлы көлеңкеленген әртүрлі геометриялық фигураларды бейнелейді. Бұл компоненттің негізгі қасиеті пішін(форма), ол келесі мәндерді қабылдай алады:

Бұл формалардың мысалдары 4.7-суретте көрсетілген

4.7-суретҚұрамдас мысалдар пішін


Компоненттің тағы бір маңызды қасиеті Щетка(щетка). Бұл сипат типті объект болып табылады Туберкулез, оның бірқатар ішкі қасиеттері бар, атап айтқанда: түсті ( Щетка. түсі) және стиль ( Щетка. стиль) пішінді толтыру үшін. Кейбір мәндерді толтырыңыз стиль 4.7-суретте компоненттің спецификалық қасиетінің үшінші бөлігін көруге болады пішін - Қалам(қалам) сызық стилін анықтайтын. Бұл мүлік, мүлік сияқты Щетка, 4.2 бөлімінде талқыланған . Бұл сипаттар туралы анықтамалық деректерді 10* тараудан табуға болады.

Диаграмма құрамдас бөлігі

Енді компонентті қарастырыңыз диаграмма. Бұл компонент өте әсерлі көрінетін әртүрлі диаграммалар мен графиктерді құруға мүмкіндік береді (4.8-сурет). Құрамдас диаграммакөптеген қасиеттері, әдістері, оқиғалары бар, сондықтан олардың барлығын қарастыратын болсаңыз, онда сіз бұған бүкіл тарауды арнауыңыз керек. Сондықтан біз тек негізгі сипаттамаларды қарастырумен шектелеміз диаграмма. Қалғанын кірістірілген Delphi анықтамасынан таба аласыз немесе диаграммалармен тәжірибе жасау арқылы оларды қолданып көріңіз.

Құрамдас диаграммаобъектілердің контейнері болып табылады Сериялартүрі TChartSeries- әртүрлі көрсету мәнерлерімен сипатталатын деректер қатары. Әрбір компонент бірнеше серияны қамтуы мүмкін. Егер сіз графикті көрсеткіңіз келсе, онда әрбір қатар графиктегі бір қисыққа сәйкес болады. Диаграммаларды көрсеткіңіз келсе, диаграммалардың кейбір түрлері үшін бірнеше түрлі қатарларды бірінің үстіне бірін қоюға болады, басқалары үшін (мысалы, дөңгелек диаграммалар үшін) ол жағымсыз көрінуі мүмкін. Дегенмен, бұл жағдайда бір құрамдас үшін орнатуға болады диаграммаәртүрлі диаграмма түрі бар бір деректердің бірнеше сериясы. Содан кейін олардың біреуін уақыттың әр сәтінде белсенді ету арқылы сіз пайдаланушыға оны қызықтыратын деректерді көрсететін диаграмма түрін таңдау мүмкіндігін бере аласыз.

Бір немесе екі құрамдас бөлікті (егер сіз 4.8-суретті қайта жасағыңыз келсе) орналастырыңыз диаграммапішінде және Объектілер инспекторында ашылатын сипаттарды қараңыз. Олардың кейбірін түсіндірейік.

Пайдаланушы тінтуірдің оң жақ түймешігін басу арқылы орындалу уақытында графиктің бақыланатын бөлігін айналдыра алатынын көрсетеді. Мүмкін мәндер: pmNone – айналдыру өшірілген, pmКөлденең, pmVertical немесе pmЕкеуі – сәйкесінше, айналдыру тек көлденең бағытта, тек тік бағытта немесе екі бағытта да рұқсат етіледі.

Пайдаланушыға тінтуір курсорының көмегімен диаграмманың немесе графиктің фрагменттерін кесу арқылы орындау кезінде кескін масштабын өзгертуге мүмкіндік береді (төмендегі 4.8 б-суретте толығымен 4.8 а-суретте көрсетілген графиктің фрагментін қарау сәті көрсетілген). .

Диаграмманың тақырыбын анықтайды.

Диаграмманың тақырыбын көрсетеді. Әдепкі бойынша ешқайсысы. Белгі мәтіні Text ішкі сипаты арқылы анықталады.

Диаграмманың айналасындағы шекараны анықтайды.

Диаграмманың легендасы – символдар тізімі.

MarginLeft, MarginRight, MarginTop, MarginBottom

Сол, оң, жоғарғы және төменгі жиектер мәндері.

Төменгі ось, сол жақ ось, оң ось

Бұл қасиеттер сәйкесінше төменгі, сол және оң осьтердің сипаттамаларын анықтайды. Бұл сипаттарды орнату графиктер мен диаграммалардың кейбір түрлері үшін мағынасы бар.

Сол жақ қабырға, төменгі қабырға, артқы қабырға

Бұл қасиеттер сәйкесінше графиктің үш өлшемді дисплей аймағының сол жақ, төменгі және артқы беттерінің сипаттамаларын анықтайды (4.8 а-суретті қараңыз, төменгі график).

Құрамдас бөлікте көрсетілетін деректер қатарларының тізімі.

3D диаграмма дисплейін қосады немесе өшіреді.

Үш өлшемді дисплейдің сипаттамалары.

Үш өлшемді масштаб (4.8-сурет үшін бұл диаграмманың қалыңдығы және график таспаларының ені).


Объектілер инспекторында аталған көптеген сипаттардың қасында Диаграмма редакторының бір немесе басқа бетін шақыруға мүмкіндік беретін эллипсі бар түймелер бар - диаграммалардың барлық қасиеттерін орнатуға мүмкіндік беретін көп бетті терезе. Диаграмма өңдегішін шақыру компонентті екі рет басу арқылы да мүмкін болады диаграмманемесе оны тінтуірдің оң жақ түймешігімен басып, қалқымалы мәзірден Диаграмманы өңдеу пәрменін таңдау арқылы.

4.8-суретте көрсетілген қолданбаны көшіріп көргіңіз келсе, жоғарғы компонентті екі рет басыңыз диаграмма. Сіз Диаграмма редакторының терезесіне (4.9-сурет) бірнеше қойындысы бар Диаграмма бетіне өтесіз. Ең алдымен, сізді ондағы Сериялар қойындысы қызықтырады. «Қосу» түймесін басыңыз - серияны қосыңыз. Сіз диаграмма немесе график түрін таңдауға болатын терезеге (4.10-сурет) барасыз. Бұл жағдайда Pie – дөңгелек диаграмманы таңдаңыз. «Тақырыптар» қойындысын пайдаланып диаграмма тақырыбын орнатуға болады, «Мәндік белгі» қойындысы диаграмманың таңбашасы (таңбалар тізімі) үшін көрсету опцияларын орнатуға немесе оны экраннан мүлдем алып тастауға мүмкіндік береді, Панель қойындысы панельдің сыртқы түрін анықтайды. Диаграмма көрсетілетін 3D қойындысы диаграмманың көрінісін өзгертуге мүмкіндік береді: көлбеу, ығысу, қалыңдығы және т.б.

Диаграмма өңдегішімен жұмыс істеп, диаграмма түрін таңдаған кезде, құрамдас бөліктер диаграммаСіздің пішініңіз оның сыртқы түрін оған енгізілген шартты деректермен көрсетеді (4.11-суретті қараңыз).

4.10-суретДиаграмма өңдегішінде диаграмма түрін таңдау


Сондықтан сіз өзіңіздің қолданбаңызға әртүрлі опцияларды қолданудың нәтижесін бірден байқай аласыз, бұл өте ыңғайлы.

Бірнеше қойындылары бар Сериялар беті сериялар үшін қосымша дисплей сипаттамаларын таңдауға мүмкіндік береді. Атап айтқанда, «Пішім» қойындысындағы дөңгелек диаграмма үшін кез келген құрамдас өлшемін қамтамасыз ететін «Дөңгелектелген дөңгелек» опциясын қосу пайдалы. диаграммадиаграмманы шеңбер түрінде көрсету. Белгілер қойындысындағы Мәнер тобының түймелері жеке диаграмма сегменттеріне қатысты белгілерде не жазылатынын анықтайды: Мән - мән, Пайыз - пайыздар, Белгі - деректер атаулары және т.б. 4.8-суреттегі мысалда «Пайыз» түймесі қосылған, ал «Жалпы» қойындысында тек бүтін мәндердің көрсетілетінін қамтамасыз ететін пайыз үлгісі орнатылған.

Қаласаңыз, осы компонентке қосуға болады диаграммаДиаграмма бетіндегі Сериялар қойындысындағы Клондау түймешігін басу арқылы басқа бірдей қатарды таңдаңыз, содан кейін осы жаңа серия үшін Өзгерту түймесін басып, басқа диаграмма түрін таңдаңыз, мысалы, Жолақ. Әрине, бір суреттегі екі түрлі диаграмма түрі нашар көрінеді. Бірақ сіз Сериялар қойындысында осы жаңа серияның индикаторын өшіре аласыз, содан кейін пайдаланушыға диаграмма дисплейінің бір немесе басқа түрін таңдауға рұқсат етіңіз (бұл қалай жасалатынын төменде көрсетеміз).

Диаграмма өңдегішінен шығыңыз, қолданбаңыздағы төменгі компонентті таңдаңыз диаграммажәне Диаграмма өңдегіші арқылы ол үшін орнату сипаттарын қайталаңыз. Бұл жағдайда диаграммада екі қисықты көрсеткіңіз келсе, екі қатарды көрсету керек және Сызық диаграмма түрін таңдаңыз. Біз графиктер туралы айтып отырғандықтан, осьтер мен графиктің үш өлшемді беттерінің координаталық сипаттамаларын орнату үшін Ось және Қабырғалар қойындыларын пайдалануға болады.

Бұл қолданбаның сыртқы түрін жобалауды аяқтайды. Көрсеткіңіз келетін деректерді көрсететін кодты жазу қалады. Сынақ қолданбасы үшін дөңгелек диаграммада тұрақты деректерді, ал графиктерде синус пен косинус функцияларын орнатайық.

Көрсетілген мәндерді орнату үшін сериялық әдістерді пайдаланыңыз Сериялар. Негізгі үш әдіске тоқталайық.

Әдіс Тазасерияны бұрын енгізілген деректерден тазартады.

Әдіс қосу:

(Const AValue: Double; Const ALabel: String;: TColor)

диаграммаға жаңа нүкте қосуға мүмкіндік береді. Параметр AV мәнқосылған мәнге, параметрге сәйкес келеді ALabel- диаграммада және легендада көрсетілетін атау, AColor- түсті. Параметр ALabel- міндетті емес, оны бос орнатуға болады: "".

Әдіс AddXY:(Const AXValue, AYValue: Double;ALabel: String; AColor: TColor)

функция графигіне жаңа нүкте қосуға мүмкіндік береді. Параметрлер AXValueЖәне AYМәнаргумент пен функцияны сәйкестендіріңіз. Параметрлер ALabelЖәне AColorәдістегідей қосу.

Осылайша, біздің мысалдағы деректерді жүктеу процедурасы келесідей болуы мүмкін:

155;=251;=203;=404;

var:сөз;

бастаСерия 1 істеу

баста;(A1, "1-қабат", clYellow);(A2, "2-қабат", clBlue);(A3, "3-қабат", clRed);(A4, "4-қабат", clКүлгін);

Соңы;. анық. анық;

үшін i:=0 дейін 100 істеу

баста. AddXY(0,02*Pi*i, sin(0,02*Pi*i), "", clRed);. AddXY (0,02*Pi*i, cos (0,02*Pi*i), «», clBlue);

Егер сіз, мысалы, диаграммада көрсетілген деректер үшін екі қатарды берген болсаңыз Серия 1Және 4-серия әртүрлі түрлері - ПирогЖәне бар, содан кейін пайдаланушының сұрауы бойынша диаграмма түрін өзгертетін процедураны енгізуге болады. Бұл процедураны оқиғаға енгізуге болады басыңызкейбір түймелер, мәзір пәрменінде немесе, мысалы, жай ғана компонентті шертуді өңдеуде диаграмма. Деректерді жүктеп салу үшін 4-серияжәне бұл диаграмманы бірінші сәтте көрінбейтін ету үшін жоғарыдағы процедураның соңына мәлімдемелерді енгізуге болады

Тағайындау(1-серия);. белсенді:=жалған;

Осы операторлардың біріншісі орналастырылған деректерді қайта жазады Серия 1, қатарда 4-серия. Ал екінші оператор қатарды көрінбейтін етеді 4-серия. Диаграмма түрін өзгерту процедурамен жүзеге асырылады

белсенді:= емесСерия 1. Белсенді;. белсенді:= емес 4-серия. белсенді;

4.8 б-суретте пайдаланушыны диаграмманың басқа түріне ауыстыру нәтижесін көруге болады.

Мақала ұнады ма? Достарыңызбен бөлісіңіз!
Бұл мақала пайдалы болды ма?
Иә
Жоқ
Пікіріңізге рахмет!
Бірдеңе дұрыс болмады және сіздің дауысыңыз есептелмеді.
рахмет. Сіздің хабарламаңыз жіберілді
Мәтіннен қате таптыңыз ба?
Оны таңдаңыз, басыңыз Ctrl+Enterжәне біз оны түзетеміз!