ග්රැෆික් තොරතුරු ප්රදර්ශනය කිරීම සඳහා සංරචක. මාතෘකාව පිළිබඳ ඉදිරිපත් කිරීම "ඩෙල්පි හි චිත්රක තොරතුරු ප්රදර්ශනය කිරීම". න්යායෙන් කෙටි තොරතුරු

ග්‍රැෆික් තොරතුරු ප්‍රදර්ශනය කිරීම සඳහා, ඩෙල්ෆි පුස්තකාලය සංරචක සපයයි, ඒවායේ ලැයිස්තුව වගුවේ දක්වා ඇත. 6.

වගුව 6

ග්රැෆික් තොරතුරු පෙන්වීම සඳහා සංරචක

සංරචකය පිටුව විස්තර
රූප අතිරේක ග්‍රැෆික්ස් ප්‍රදර්ශනය කිරීමට භාවිතා කරයි
තීන්ත පෙට්ටිය (ඇඳීම සඳහා කවුළුව) පද්ධති ඔබට ඇඳීමට හැකි පෝරමය මත යම් ප්රදේශයක් නිර්මාණය කිරීමට භාවිතා කරයි
DrawGrid (ඇඳීම් වගුව) අතිරේක පේළි සහ තීරුවල අකුරු නොවන දත්ත පෙන්වීමට භාවිතා කරයි
ප්‍රස්ථාර (ප්‍රස්ථාර සහ ප්‍රස්ථාර) අතිරේක ප්‍රස්ථාර සහ ප්‍රස්ථාර සෑදීමට භාවිතා කරන සංරචක TeeChart පවුලට සංරචකය අයත් වේ
Chartfx (ප්‍රස්ථාර සහ ප්‍රස්ථාර) ActiveX ප්‍රස්ථාර සහ ප්‍රස්තාර සංස්කාරකය
FIBook (Excel පිටු) ActiveX සංඛ්‍යාත්මක තොරතුරු ආදානය සහ සැකසුම් සංරචකය
VtChart (ප්‍රස්ථාර) ActiveX රූප සටහන් කවුළුව

ඊට අමතරව, ඔබට දේපල ඇති ඕනෑම කවුළු සංරචකයක මතුපිට චිත්‍රක තොරතුරු ප්‍රදර්ශනය කර ඇතුළත් කළ හැකිය කැන්වස්- කැන්වස්.

රූප වගු - DrawGrid සහ StringGrid සංරචක

සංරචකය DrawGridග්‍රැෆික් රූප අඩංගු විය හැකි යෙදුමක වගුවක් සෑදීමට භාවිතා කරයි. මෙම සංරචකය සංරචකයට සමාන වේ StringGridදෙවැන්න ව්‍යුත්පන්න වන බැවින් DrawGrid.එබැවින් තුළ DrawGridසංරචකයේ සියලුම ගුණාංග, ක්රම, සිදුවීම් පවතී StringGridපෙළ සම්බන්ධ ඒවා හැර, i.e. දේපල හැර සෛල, කෝල්ස්, පේළි, වස්තු.මෙම දෘෂ්ටි කෝණයෙන්, සංරචකය StringGridවඩා සැලකිය යුතු තරම් විශාල හැකියාවන් ඇත DrawGridඑය සෛල තුළ පින්තූර සහ පෙළ යන දෙකම ගබඩා කළ හැකි බැවිනි. තවද ඔබට සමහර සෛල තුළ පෙළ ඇතුළත් කිරීමට අවශ්‍ය නම් DrawGridඑවිට ඔබට මේ සඳහා දළ සටහනක පෙළ පෙන්වීම සඳහා ක්‍රම භාවිතා කිරීමට අවශ්‍ය වනු ඇත, එය එතරම් පහසු නොවේ.

සංරචක DrawGrid සහ StringGridදළ සටහනක් ඇත කැන්වස්,ඔබට පින්තූර පළ කළ හැකි මත.

ක්‍රමයක් තියෙනවා සෛල-රෙක්ට්,දෙන ලද කොටුවක් සඳහා වෙන් කර ඇති කැන්වස් ප්‍රදේශය ආපසු ලබා දෙයි. මෙම ක්රමය අර්ථ දක්වා ඇත

ශ්‍රිතය CellRect(ACol, ARrow: Longint): TRect;

කොහෙද Acol සහ ARrow- කොටුව පිහිටා ඇති මංසන්ධියේ 0 සිට ආරම්භ වන තීරු සහ පේළි දර්ශක. මෙම ශ්‍රිතය මඟින් ආපසු ලබා දෙන ප්‍රදේශය යනු අපේක්ෂිත රූපය ඇද ගත හැකි කැන්වස් ප්‍රදේශයයි. උදාහරණයක් ලෙස, ක්රියාකරු

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

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

පිටපත් කිරීමේ ක්රමය CopyRectමේසයේ සෛලයට (1,1). DrawGridlසංරචකයෙන් රූපය BitMap.දර්ශක 0 න් ආරම්භ වන බැවින් මෙම කොටුව වගුවේ වමේ සිට දෙවෙනි වන අතර ඉහළ සිට දෙවන වේ. පිටපත් කළ රූපයේ ප්‍රමාණයට වඩා සෛලය කුඩා නම්, රූපයේ ඉහළ වම් කොටස පමණක් දිස්වන බව කරුණාවෙන් සලකන්න. සෛලය.

සංරචක කැන්වසය මත රූපය DrawGrid සහ StringGrid,ඕනෑම සංරචකයක කැන්වසය මත මෙන්, යෙදුම් කවුළුව වෙනත් කවුළු මගින් අතිච්ඡාදනය වන විට හෝ, උදාහරණයක් ලෙස, යෙදුම අවම කරන විට එය මැකීමට යටත් වේ.

සෛල තුළට පින්තූර ඇතුල් කිරීමට පහසු ක්රමයක් DrawGridසිදුවීම් හසුරුවන්නක් භාවිතා කිරීමයි OnDrawCell.මෙම සිදුවීම් එක් එක් වගු කොටුව නැවත අඳින අවස්ථාවේදී සිදුවේ. හසුරුවන්නාගේ ශීර්ෂය පෙනෙන්නේ:

ක්රියා පටිපාටිය TForml.DrawGridlDrawCell (යවන්නා: TObject;

ACol, ARrow: පූර්ණ සංඛ්‍යාව; Rect: TRect; ප්රාන්තය: TGridDrawState)

පරාමිතිය රජයේසෛලයේ තත්වය පෙන්නුම් කරයි. එය පහත සඳහන් අංග අඩංගු විය හැකි කට්ටලයකි: gd තෝරාගත්- තෝරාගත් සෛලය, gd අවධානය යොමු කර ඇත- අවධානය යොමු කර ඇති සෛලය, gdFixed- මේසයේ ස්ථාවර ප්රදේශයක සෛලයක්. පරාමිතිය රජයේවිවිධ ප්රාන්තවල සෛල වෙනස් ලෙස පෙන්වීමට භාවිතා කළ හැක.

හැඩැති සංරචකය

හැඩැති සංරචකයග්‍රැෆික් තොරතුරු ප්‍රදර්ශනය කිරීමේ මාධ්‍යයක් ලෙස කොන්දේසි සහිතව පමණක් වර්ග කළ හැක, මන්ද එය විවිධ ජ්‍යාමිතික හැඩතල නිරූපනය කරයි, සුදුසු පරිදි සෙවන. මෙම සංරචකයේ ප්රධාන දේපල වේ හැඩය(ආකෘතිය), පහත අගයන් ගත හැක:

සෘජුකෝණාස්රය - සෘජුකෝණාස්රය;

StSquare - හතරැස්;

StRoundRect - වටකුරු කොන් සහිත සෘජුකෝණාස්රය;

StRouhdSquare - වටකුරු කොන් සහිත හතරැස්;

StEllipse - ellipse;

StCircle - රවුම.

සංරචකයේ තවත් අත්යවශ්ය ගුණාංගයකි බුරුසුව(බුරුසුව). මෙම දේපල වර්ගයේ වස්තුවකි TBrush,උප-ගුණාංග ගණනාවක් තිබීම, විශේෂයෙන් වර්ණය (බුරුසු. පාට)සහ ශෛලිය (Brush.Style)රූපය පිරවීම. ඔබට රූපයේ සමහර ස්ටයිල් අගයන් සඳහා පිරවීම දැකිය හැකිය. 3.2 සංරචකයේ තුන්වන විශේෂිත ගුණාංගය හැඩය- පෑන(පෑන) රේඛා විලාසය නිර්වචනය කරයි.

ප්‍රස්ථාර සංරචකය

දැන් අපි සංරචකය දෙස බලමු සටහන.මෙම සංරචකය ඔබට ඉතා ආකර්ෂණීය පෙනුමක් ඇති විවිධ ප්රස්ථාර සහ ප්රස්ථාර තැනීමට ඉඩ සලසයි. සංරචකය සටහනබොහෝ ගුණාංග, ක්‍රම, සිදුවීම් ඇත, එබැවින් අපි ඒවා සියල්ලම සලකා බැලුවහොත්, අපට මේ සඳහා සම්පූර්ණ පරිච්ඡේදයක් කැප කිරීමට සිදුවනු ඇත. එමනිසා, අපි ප්රධාන ලක්ෂණ පමණක් සලකා බැලීමට අපව සීමා කරමු සටහන.ඔබට ඉතිරිය Delphi හි ගොඩනඟන ලද උපකාරයෙන් සොයාගත හැකිය, නැතහොත් රූප සටහන් සමඟ අත්හදා බැලීමෙන් ඒවා උත්සාහ කරන්න.

සංරචකය සටහනවස්තූන්ගේ බහාලුමකි මාලාවක්- පන්තියේ උරුමක්කාරයන් TChartSeries.එවැනි සෑම වස්තුවක්ම නිශ්චිත සංදර්ශක ශෛලියකින් සංලක්ෂිත දත්ත මාලාවක් නියෝජනය කරයි: විශේෂිත ප්‍රස්ථාරයක් හෝ රූප සටහනක්. එක් එක් සංරචක සටහනකථාංග කිහිපයක් ඇතුළත් විය හැකිය. ඔබට ප්‍රස්ථාරයක් පෙන්වීමට අවශ්‍ය නම්, එක් එක් ශ්‍රේණිය ප්‍රස්ථාරයේ එක් වක්‍රයකට අනුරූප වේ. ඔබට ප්‍රස්ථාර සංදර්ශන කිරීමට අවශ්‍ය නම්, සමහර ප්‍රස්ථාර වර්ග සඳහා ඔබට විවිධ ශ්‍රේණි කිහිපයක් එකින් එක උඩින් තැබිය හැක, අනෙක් අයට (පයි ප්‍රස්ථාර වැනි) එය බොහෝ විට කැත ලෙස පෙනෙනු ඇත. කෙසේ වෙතත්, මෙම අවස්ථාවේදී පවා, ඔබට එක් සංරචකයක් සඳහා සැකසිය හැක සටහනවිවිධ ප්‍රස්ථාර වර්ග සහිත එකම දත්ත මාලාවක්. ඉන්පසුව, ඒවායින් එකක් සෑම අවස්ථාවකදීම සක්‍රිය කිරීමෙන්, පරිශීලකයාට ඔවුන් උනන්දුවක් දක්වන දත්ත පෙන්වන ප්‍රස්ථාර වර්ගය තෝරා ගැනීමට ඔබට ලබා දිය හැකිය.

සංරචක එකක් හෝ දෙකක් තබන්න සටහනපෝරමය මත සහ Object Inspector හි විවෘත වන ගුණාංග දෙස බලන්න. ඒවායින් සමහරක් පිළිබඳ පැහැදිලි කිරීම් කිහිපයක් මෙන්න.

AllowPanning - දකුණු මූසික බොත්තම එබීමෙන් ක්‍රියාත්මක කිරීමේදී ප්‍රස්ථාරයේ නිරීක්ෂිත කොටස අනුචලනය කිරීමට පරිශීලකයාගේ හැකියාව තීරණය කරයි. විය හැකි අගයන්: pmNone - අනුචලනය තහනම්, pmHori/ontal, pm සිරස් හෝ pm දෙකම - අනුචලනය අවසර දෙනු ලැබේ, පිළිවෙලින්, තිරස් දිශාවට පමණක්, සිරස් දිශාවට පමණක් හෝ දෙපැත්තටම.

AhowZoom - මූසික කර්සරය සමඟ ප්‍රස්ථාරයක හෝ ප්‍රස්ථාරයක කොටස් කපා හැරීමෙන් ධාවන වේලාවේදී රූපයේ විශාලනය වෙනස් කිරීමට පරිශීලකයාට ඉඩ දෙයි. කොටසක රාමුව දකුණට සහ පහළට ඇදී ඇත්නම්, මෙම කොටස ප්‍රස්ථාරයේ සම්පූර්ණ ක්ෂේත්‍රය ආවරණය වන පරිදි දිගු වේ. රාමුව ඉහළට සහ වමට ඇදී ඇත්නම්, මුල් පරිමාණය ප්‍රතිස්ථාපනය වේ.

මාතෘකාව - රූප සටහනේ මාතෘකාව නිර්වචනය කරයි.

පාදය - රූප සටහන යටතේ ඇති ශීර්ෂ පාඨය නිර්වචනය කරයි. පෙරනිමියෙන් කිසිවක් නැත. අත්සන පෙළ තීරණය වන්නේ Text subproperty මගිනි.

රාමුව - රූප සටහන වටා රාමුව නිර්වචනය කරයි.

Object Inspector හි ලැයිස්තුගත කර ඇති බොහෝ දේපල අසල, ප්‍රස්ථාර සංස්කාරකයේ එක් හෝ තවත් පිටුවක් ඇමතීමට ඔබට ඉඩ සලසන ඉලිප්ස සහිත බොත්තම් ඇත - ප්‍රස්ථාරවල සියලුම ගුණාංග සැකසීමට ඔබට ඉඩ සලසන බහු පිටු කවුළුවකි. සංරචකය මත දෙවරක් ක්ලික් කිරීමෙන් රූප සටහන් සංස්කාරකය ද හැඳින්විය හැක සටහනහෝ එය මත දකුණු-ක්ලික් කිරීමෙන් සහ උත්පතන මෙනුවෙන් Edit Chart විධානය තේරීමෙන්.

ඉහළ සංරචකය මත දෙවරක් ක්ලික් කරන්න සටහන.ටැබ් කිහිපයක් ඇති ප්‍රස්ථාර පිටුවේ ප්‍රස්ථාර සංස්කාරක කවුළුව වෙත ඔබව ගෙන යනු ඇත. පළමුවෙන්ම, ඔබ එහි ඇති Series ටැබය ගැන උනන්දු වනු ඇත. Add බොත්තම මත ක්ලික් කරන්න - මාලාවක් එක් කරන්න. ඔබට ප්‍රස්ථාර හෝ ප්‍රස්ථාර වර්ගය තෝරාගත හැකි කවුළුවකට ඔබව ගෙන යනු ඇත. මෙම අවස්ථාවේදී, Pie - a pie chart තෝරන්න. මාතෘකා ටැබය භාවිතා කරමින්, ඔබට ප්‍රස්ථාරයේ මාතෘකාව සැකසිය හැකිය, ලෙජන්ඩ් ටැබය මඟින් ප්‍රස්ථාර පුරාවෘත්තය (සංකේත ලැයිස්තුව) ප්‍රදර්ශනය කිරීම සඳහා පරාමිතීන් සැකසීමට හෝ එය තිරයෙන් සම්පූර්ණයෙන්ම ඉවත් කිරීමට ඉඩ සලසයි, පැනල ටැබය පැනලයේ පෙනුම තීරණය කරයි. ප්‍රස්ථාරය දර්ශනය වන විට, ත්‍රිමාණ පටිත්ත මඟින් ඔබේ ප්‍රස්ථාරයේ පෙනුම වෙනස් කිරීමට ඔබට අවස්ථාව ලබා දේ: ඇලවීම, මාරුව, ඝණකම යනාදිය.

ඔබ ප්‍රස්ථාර සංස්කාරකයේ වැඩ කරන විට සහ ප්‍රස්ථාර වර්ගයක් තෝරාගෙන ඇති විට, සංරචක සටහනඔබේ පෝරමය එයට ඇතුළත් කර ඇති කොන්දේසි සහිත දත්ත සමඟ එහි පෙනුම පෙන්වයි. එමනිසා, ඔබගේ යෙදුමට විවිධ විකල්ප යෙදීමේ ප්රතිඵලය ඔබට වහාම දැකිය හැකිය, එය ඉතා පහසු වේ.

Series පිටුව, ටැබ් ගණනාවක් ද ඇති අතර, ඔබට ශ්‍රේණි සඳහා අමතර දර්ශන විකල්ප තෝරා ගැනීමේ හැකියාව ලබා දේ. විශේෂයෙන්, පයි ප්‍රස්ථාරයක් සඳහා, ආකෘති පටිත්තෙහි, රවුම් පයි විකල්පය සක්‍රීය කිරීම ප්‍රයෝජනවත් වේ, එමඟින් ප්‍රස්ථාරය ප්‍රස්ථාර සංරචකයේ ඕනෑම ප්‍රමාණයක රවුමක් ලෙස දර්ශනය වන බව සහතික කරයි. ලකුණු පටිත්තෙහි, ප්‍රස්ථාරයේ තනි කොටස් වලට අදාළ ලේබලවල ලියා ඇති දේ ස්ටයිල් සමූහයේ බොත්තම් තීරණය කරයි: අගය - අගය, ප්‍රතිශතය - ප්‍රතිශත, ලේබලය - දත්ත නම් යනාදිය.

ඔබට අවශ්‍ය නම්, ප්‍රස්ථාර පිටුවේ Series පටිත්තෙහි ඇති Clone බොත්තම ක්ලික් කිරීමෙන් මෙම ප්‍රස්ථාර සංරචකයට තවත් සමාන ශ්‍රේණියක් එක් කළ හැක, පසුව මේ සඳහා නව මාලාවක්වෙනස් කිරීමේ බොත්තම ක්ලික් කර වෙනත් ප්‍රස්ථාර වර්ගයක් තෝරන්න, උදාහරණයක් ලෙස තීරුව.

ප්‍රස්ථාර සංස්කාරකයෙන් පිටවී, ඔබගේ යෙදුමේ පහළ ප්‍රස්ථාර සංරචකය තෝරන්න සහ ප්‍රස්ථාර සංස්කාරකය භාවිතයෙන් එහි ගුණාංග නැවත සැකසීම. මෙම අවස්ථාවේදී, ඔබට ප්‍රස්ථාරයේ වක්‍ර දෙකක් පෙන්වීමට අවශ්‍ය නම් ශ්‍රේණි දෙකක් සඳහන් කිරීමට අවශ්‍ය වනු ඇත, සහ රේඛා ප්‍රස්ථාර වර්ගය තෝරන්න. මන්දයත් අපි කතා කරන්නේප්‍රස්ථාර ගැන, ඔබට ප්‍රස්ථාරයේ අක්ෂවල සහ ත්‍රිමාන දාරවල ඛණ්ඩාංක ලක්ෂණ නියම කිරීමට අක්ෂ සහ බිත්ති ටැබ් භාවිතා කළ හැක.

නිර්මාණය සඳහා එපමණයි පෙනුමයෙදුම අවසන් වේ. ඔබට ප්‍රදර්ශනය කිරීමට අවශ්‍ය දත්ත සඳහන් කරන කේතය ලිවීමට පමණක් ඉතිරිව ඇත. පරීක්ෂණ යෙදුම සඳහා, අපි පයි ප්‍රස්ථාරයේ නියත දත්ත කිහිපයක් සහ ප්‍රස්ථාරවල සමහර කාර්යයන් සකසමු.

දර්ශණය වන අගයන් සැකසීමට, ඔබ ශ්‍රේණි ක්‍රම භාවිතා කළ යුතුය. ප්‍රධාන ක්‍රම තුනක් ගැන පමණක් අවධානය යොමු කරමු.

ක්රමය පැහැදිලිවකලින් ඇතුළත් කළ දත්ත මාලාවක් හිස් කරයි.

ක්රමය එකතු කරන්න:

එකතු කරන්න (අනුකූල අගය: ද්විත්ව; කොන්ස්ට් ඇලබෙල්: නූල්; වර්ණ: වර්ණ) ,

රූප සටහනට නව කරුණක් එක් කිරීමට ඔබට ඉඩ සලසයි. පරාමිතිය අගයඑකතු කළ අගය, පරාමිතියට අනුරූප වේ ඇලබෙල්- රූප සටහනේ සහ පුරාවෘත්තයේ පෙන්වන ලේබලයක්, වර්ණ- වර්ණ. පරාමිතිය ඇලබෙල්- විකල්ප, එය හිස් ලෙස සැකසිය හැක: ''. ක්රමය AddXY:

AddXY(Const AXValue, AYValue: Double; Const Alabel: String; Acolor: TColor)

ශ්‍රිත ප්‍රස්ථාරයට නව ලක්ෂ්‍යයක් එක් කිරීමට ඔබට ඉඩ සලසයි. විකල්ප AXValueසහ AYValueතර්කයට සහ කාර්යයට අනුරූප වේ. විකල්ප ඇලබෙල් සහ වර්ණක්රමයට සමානයි එකතු කරන්න.

මේ අනුව, අපගේ උදාහරණයේ දත්ත පැටවීමේ ක්රියා පටිපාටිය පහත පරිදි විය හැකිය:

const Al=155; A2=251; A3=203; A4=404; var i:word; ආරම්භය

මාලාව සමඟ ආරම්භ කරන්න

එකතු කරන්න(Al,"වැඩමුළුව l",clYellow);

එකතු කරන්න(A2,"වැඩමුළුව 2",clBlue);

එකතු කරන්න(A3,"වැඩමුළුව 3",clRed);

එකතු කරන්න(A4,"වැඩමුළුව 4",clPurple); අවසානය;

මාලාව2. පැහැදිලි; 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);

ක්රියාකරුවන් පැහැදිලිවයෙදුම ක්‍රියාත්මක වන අතරතුර ඔබ දත්ත යාවත්කාලීන කිරීමට යන්නේ නම් අවශ්‍ය වේ.

මෙම සංරචකය සඳහා අපගේ හැඳින්වීම අවසන් වේ සටහන.ඇත්ත, අපි එහි හැකියාවන්ගෙන් කුඩා කොටසක් පමණක් සලකා ඇත.

ග්රැෆික්ස් සමඟ වැඩ කිරීමඩෙල්ෆිහි එය රේඛා සහ චිත්‍ර පමණක් නොව මුද්‍රණය ද වේ පෙළ ලේඛන. එබැවින් තුළ ඩෙල්ෆි රැකියාවේචිත්රක සමඟඔබට සුළු කාලයක් ගත කිරීමට අවශ්‍යයි. සමඟ වැඩ කරන්න ඩෙල්ෆි හි ග්‍රැෆික්ස්කැන්වසයට ප්‍රවේශ වීම ඇතුළත් වේ - සංරචකවල කැන්වස් ගුණය. කැන්වස් ඩෙල්ෆිමෙය ක්‍රමලේඛකයාට එහි එක් එක් ලක්ෂ්‍ය (පික්සල) වෙත ප්‍රවේශ වීමට ඉඩ සලසන කැන්වසයකි, සහ, කලාකරුවෙකු මෙන්, අවශ්‍ය දේ ප්‍රදර්ශනය කරයි. ඇත්ත වශයෙන්ම, සඳහා පික්සෙල් විසින් පික්සෙල් අඳින්න ග්රැෆික්ස් සමඟ වැඩ කිරීම Delphi දී අවශ්ය නොවේ, Delphi පද්ධතිය බලවත් සපයයි චිත්රක මෙවලම්, ක්‍රමලේඛකයාගේ කාර්යය පහසු කිරීම.

ඩෙල්ෆි හි ග්‍රැෆික්ස් සමඟ වැඩ කරන විට, ක්‍රමලේඛකයා සතුව දළ සටහනක් ඇත (කැන්වස්, කැන්වස් - දේපල කැන්වස්ඩෙල්ෆි සංරචක), පැන්සල් (දේපල පෑන), ඔබ පින්තාරු කිරීමට නියමිත සංරචකයේ හෝ වස්තුවේ බුරුසුව (බුරුසු දේපල). පැන්සල ළඟ පෑනසහ බුරුසු බුරුසුවඔබට වර්ණය (වර්ණ දේපල) සහ විලාසය (ශෛලිය දේපල) වෙනස් කළ හැකිය. අකුරු සඳහා ප්‍රවේශය කැන්වස් දේපල මගින් සපයනු ලැබේ අකුරු. මෙම මෙවලම් ඔබට ගණිතමය සහ ඉංජිනේරු අන්තර්ගතයේ පෙළ සහ තරමක් සංකීර්ණ ප්‍රස්ථාර මෙන්ම චිත්‍ර ප්‍රදර්ශනය කිරීමට ඉඩ සලසයි. ඊට අමතරව, ග්රැෆික්ස් සමඟ වැඩ කිරීමඩෙල්ෆි හි එවැනි සම්පත් භාවිතා කිරීමට ඔබට ඉඩ සලසයි වින්ඩෝස්ග්‍රැෆික්ස් සහ වීඩියෝ ගොනු වගේ.

ඇත්ත වශයෙන්ම, ඩෙල්ෆි හි සියලුම සංරචක මෙම ගුණාංග නොමැත. ටැබ් එක මත අතිරේකවිශේෂිත සංරචකයක් පිහිටා ඇත TIරූපය, විශේෂයෙන් ඇඳීම සඳහා නිර්මාණය කර ඇත, නමුත් දේපල ද කැන්වස්උදාහරණයක් ලෙස, ListBox, ComboBox, StringGrid වැනි සංරචක මෙන්ම අපගේ සංරචක ස්ථානගත කරන පෝරමයම ඇත! අතිරේකව, ලේඛන මුද්‍රණය කිරීමට, Delphi මුද්‍රණ යන්ත්‍රය වැනි වස්තුවක කැන්වස් දේපල වෙත ප්‍රවේශ වේ.

කැන්වස් ඩෙල්ෆි වැනි එවැනි වස්තුවක ප්රධාන දේපල වේ පික්සලවර්ගය TColor, එනම්, එය ඒවායේ වර්ණයෙන් නිශ්චිතව දක්වා ඇති ද්විමාන ලක්ෂ්ය (පික්සල) අරාවකි. කැන්වසය මත ඇඳීම සිදුවන්නේ කැන්වසයේ ඕනෑම ලක්ෂ්‍යයකට දී ඇති වර්ණයක් ලබා දෙන මොහොතේ ය. සෑම පික්සලයකටම වින්ඩෝස් සඳහා පවතින ඕනෑම වර්ණයක් පැවරිය හැක. උදාහරණයක් ලෙස, ප්රකාශය ක්රියාත්මක කිරීම

Image1.Canvas.Pixels:=clRed;

ඛණ්ඩාංක සමඟ රතු තිතක් ඇඳීමට හේතු වනු ඇත. ප්‍රතිලෝම පැවරුම මඟින් ඔබට පික්සලයක වර්ණය සොයාගත හැකිය:

වර්ණය:=රූපය1.Canvas.Pixels;

ටයිප් කරන්න TColorදිගු පූර්ණ සංඛ්‍යාවක් (LongInt) ලෙස අර්ථ දක්වා ඇත. එහි බයිට් හතරේ නිල් (B), කොළ (G) සහ රතු (R) වර්ණවල අනුපාතය පිළිබඳ තොරතුරු අඩංගු වේ. ෂඩාස්රාකාර පද්ධතිය තුළ එය මේ ආකාරයට පෙනේ: $00BBGGRR. එක් එක් වර්ණයෙහි අනුපාතය 0 සිට 255 දක්වා වෙනස් විය හැක. එබැවින්, උපරිම රතු ලක්ෂ්‍යය පෙන්වීමට, එය පැවරිය යුතුය. වර්ණය $000000FF.
Delphi හි සම්මත වර්ණ සඳහා පෙළ නියතයන් සමූහයක් අර්ථ දක්වා ඇත. වර්ණ දේපල විවෘත කිරීමෙන් ඔබට එය දැකිය හැකිය, උදාහරණයක් ලෙස, Object Inspector හි එකම ආකෘතියේ.

පහත වගුවේ කැන්වස් ගුණාංග සහ ක්‍රම කිහිපයක් අඩංගු වේ:

ක්‍රියා පටිපාටිය TextOut(X, Y: Integer; constපෙළ: WideString);
තන්තු ප්‍රතිදානයක් නිපදවයි පෙළ(X, Y) සිට - පෙළෙහි ඉහළ වම් පික්සලය.
දේපල පෙළ පළල( varපෙළ: තන්තුව): පූර්ණ සංඛ්‍යාව;
නූලෙහි දිග අඩංගු වේ පෙළපික්සල වලින්.
දේපල පෙළ උස( varපෙළ: තන්තුව): පූර්ණ සංඛ්‍යාව;
රේඛාවේ උස අඩංගු වේ පෙළපික්සල වලින්.
ක්රියා පටිපාටිය MoveTo(X, Y: පූර්ණ සංඛ්යාව);
ලිපිනය (X, Y) සමඟ පික්සලය වෙත පිහිටීම ගෙන යයි.
ක්රියාපටිපාටිය LineTo(X, Y: Integer);
ලිපිනය (X, Y) සමඟ වත්මන් ස්ථානයේ සිට පික්සලය දක්වා සරල රේඛාවක් අඳින්න. ලිපිනය (X, Y) වත්මන් ස්ථානයේ ලක්ෂ්යය බවට පත් වේ.
ක්රියා පටිපාටිය පිරවීම ( const Rect: TRect);
සෘජුකෝණාස්රයක් පුරවයි Rectවත්මන් බුරුසුව භාවිතයෙන් කැන්වසය මත. කැන්වසය මත රූපයක කොටසක් මකා දැමීමට වෙනත් දේ අතර භාවිතා කළ හැක.

අපි ලියන්නෙමු, මෙම කැන්වස් ක්‍රම පමණක් භාවිතා කරමින්, සංරචක කැන්වසය මත රූපයක් සඳහා යෙදුමක් රූපසංරචකයට ඇතුළත් කර ඇති පෙළ මතක සටහන්:

අපි කරන පළමු දෙය නම් වැඩසටහන ආරම්භ වන විට විචල්‍යයන් ආරම්භ කිරීමයි. චිත්‍ර ඇඳීමේ ප්‍රදේශයේ ප්‍රමාණය තීරණය කිරීම අවශ්‍ය වේ (අපි මේ සඳහා TRect වර්ගයේ ගෝලීය විචල්‍යයක් සාදන්නෙමු) සහ පසුබිම් වර්ණය සකසන්න රූපසුදු:

පටිපාටිය TForm1.FormCreate(යවන්නා: TObject);
ආරම්භය
Rect. Left:=0;
Rect.Top:=0;
සෘජු.දකුණ:=රූපය1.පළල;
Rect.Bottom:=රූපය1.උස;
Image1.Canvas.Brush.Color:=clWhite;
අවසානය;

ඉන්පසු රූපයේ දෙපැත්තේ රාමුවක් අඳින්න:

පටිපාටිය TForm1.page;
ආරම්භය
සමගරූපය1.කැන්වසය කරන්න
ආරම්භය
MoveTo (0, 0);
LineTo(රූපය1.පළල-1, 0);
LineTo(රූපය1.පළල-1, රූපය1.උස-1);
LineTo(0, Image1.Height-1);
LineTo (0, 0);
අවසානය;
අවසානය;

අපි බලමු මොකද උනේ කියලා. සෑම දෙයක්ම ක්රියා කරයි, නමුත් රාමුව තවමත් දර්ශනය නොවේ. එබැවින්, අපි ක්රියා පටිපාටියක් එකතු කරමු පිටුවක්රියා පටිපාටිය තුළ FormCreate. දැන් ලස්සනයි. ඊළඟට, අපි රූපය මකා දැමීම සහ ඉවත් කිරීම සඳහා සරල ක්රියා පටිපාටියක් ලියන්නෙමු. ඕනෑම රූපයක් යාවත්කාලීන කිරීමට පෙර එය ඇමතීමට අවශ්‍ය වනු ඇත, එසේ නොමැතිනම් පෙර සහ පසු රූප අතිච්ඡාදනය වනු ඇත.

පටිපාටිය TForm1.clearing;
ආරම්භය
Image1.Canvas.FillRect(Rect); // සෘජුකෝණාස්රය Rectසුදු පැහැයෙන් පිරී ඇති අතර රූපය මැකී යයි.
අවසානය;

දැන් එය පෙළ ප්‍රතිදාන ක්‍රියා පටිපාටියේම වාරයයි. (3, 3) - පත්‍රයේ ඉහළ වම් කෙළවරේ, පික්සල 3 ක සුළු ඉන්ඩෙන්ටේෂන් එකකින් පෙළ ඇඳීම ආරම්භ කරමු. සෑම ඊළඟ පේළියක්ම රේඛා උසින් හිලව් කරනු ලැබේ:

පටිපාටිය TForm1.prn;
var i: පූර්ණ සංඛ්‍යාව;
ආරම්භය
සමගරූපය1.කැන්වසය කරන්න
සදහාමම:=1 දක්වා Memo1.Lines.count කරන්න
TextOut(3, 3+(i-1)*TextHeight("A"), Memo1.Lines);
අවසානය;

දැන් සියල්ල පෙළ ප්‍රතිදානය කිරීමට සූදානම්. අපි මෙය OnChange සිදුවීම භාවිතයෙන් කරන්නෙමු:

පටිපාටිය TForm1.Memo1Change(යවන්නා: TObject);
ආරම්භය
පිරිසිදු කිරීම;
prn;
පිටුව;
අවසානය;

අවසාන වශයෙන්, අකුරු ප්රමාණය වෙනස් කිරීමේ ක්රියා පටිපාටිය:

පටිපාටිය TForm1.Edit1Change(යවන්නා: TObject);
ආරම්භය
Memo1.Font.Size:=UpDown1.Position;
Image1.Canvas.Font.Size:=UpDown1.Position;
Memo1Change(යවන්නා);
අවසානය;

පෙළ මුද්‍රණය කිරීමට ඔබට මෙම වැඩසටහන වෙනස් කළ හැක. මුද්රණ යන්ත්රය සමඟ වැඩ කිරීම සඳහා ඔබ මොඩියුලය සම්බන්ධ කළ යුතුය මුද්‍රණ යන්ත්‍ර:

ඒකකයඒකකය 1;

අතුරුමුහුණත

භාවිතා කරයි
Windows, Messages, SysUtils, ප්‍රභේද, පන්ති, ග්‍රැෆික්ස්, පාලන, ආකෘති,
සංවාද, StdCtrls, මුද්‍රණ යන්ත්‍ර ;

මුද්රකය සමඟ කැන්වසයක් ලෙස වැඩ කරන විට, ක්රමය මුද්රණය කිරීම ආරම්භ කිරීමට කැඳවනු ලැබේ BeginDoc, එවිට ලේඛනය ප්රතිදානය වේ, ක්රමය ඇමතීමෙන් මුද්රණය අවසන් වේ EndDoc:

Printer.BeginDoc;
සමගමුද්‍රණ යන්ත්‍රය.කැන්වස් කරන්න
ආරම්භය
ලේඛනය මුද්‍රණය කරන්න...
අවසානය;
Printer.EndDoc;

මුද්‍රණ ජාලයේ පළල සහ උස ගුණාංග හරහා ලබා ගත හැක මුද්‍රණ යන්ත්‍රය.PageWidthසහ මුද්‍රණ යන්ත්‍රය.PageHeight. ඔබට ක්‍රමය භාවිතා කර එක් පිටුවක මුද්‍රණය අවසන් කර තවත් පිටුවක මුද්‍රණය කිරීම ආරම්භ කළ හැකිය මුද්‍රණ යන්ත්‍රය.NewPage.

රසායනාගාර වැඩ

විෂය: « තුළ ග්‍රැෆික්ස්ඩෙල්ෆි- සරලම තැනීම
ජ්යාමිතික හැඩතල"

න්‍යායෙන් කෙටි තොරතුරු

Delphi විසින් සංවර්ධකයාට චිත්‍රක ප්‍රදර්ශනය කිරීමට ක්‍රම තුනක් සපයයි:

    වැඩසටහන ක්රියාත්මක වන අතරතුර කුමන්ත්රණය කිරීම

    පෙර-නිර්මාණය කරන ලද ග්‍රැෆික්ස් භාවිතය

    ග්‍රැෆික් සංරචක භාවිතයෙන් රූප නිර්මාණය කිරීම

ප්රස්ථාර තැනීම සඳහා, ඇඳීම සඳහා මෙවලම් සහ ක්රම සපයන විශේෂ පන්ති නිර්මාණය කර ඇත: මෙවලම් පන්ති තුනකින් විස්තර කර ඇත - Tfont, Tpen, Tbrush; චිත්‍ර ඇඳීමේ ප්‍රදේශය සහ ක්‍රම සපයනු ලබන්නේ Tcanvas පන්තිය විසිනි.

පන්තියTfont- කැන්වසය මත පෙළ පෙන්වීමට භාවිතා කරන අකුරු වල ලක්ෂණ නියම කරයි. පන්තියේ ගුණාංග "බොහෝ සංරචක සඳහා පවතින මූලික ගුණාංග" කොටසේ විස්තර කර ඇත.

පන්තියTpen- රේඛා අඳින පෑනෙහි (පැන්සල) ලක්ෂණ නියම කරයි.

දේපළපන්තිය Tpen:

වර්ණ:Tcolor - රේඛා වර්ණය (පෙරනිමිය - කළු)

පළල: පූර්ණ සංඛ්යාව - පික්සල වලින් රේඛා ඝණකම;

ශෛලිය = (psSolid, psDash, psDot, psdashDot, psClear) - රේඛා විලාසය නිර්වචනය කරයි (ඝන, ඉර, තිත්, ඉරි-තිත්, නොපෙනෙන)

පන්තියTbrush- රූපයේ මතුපිට තීන්ත ආලේප කරන බුරුසුවෙහි ලක්ෂණ සකසයි.

දේපළපන්තිය Tbrush:

වර්ණ:Tcolor - බුරුසු වර්ණය (පෙරනිමිය - සුදු)

ශෛලිය- බුරුසු රටාව, පහත අගයන් ගත හැක:

BsSolid - ඝන වර්ණ ගැන්වීම

BsClear - සෙවන නොමැතිකම

BsVertical - සිරස් රේඛා

BsBdiagonal - දකුණු විකර්ණ රේඛා

BsDiagCross - ආනත සෛලය

BsHorizontal - තිරස් රේඛා

BsFdiagonal - වම් විකර්ණ රේඛා

BsCross - කූඩුව

පන්තියTcanvas- නිර්මාණය කරන ලද රූපය තබා ඇති මතුපිට සහ රූපය නිර්මාණය කරන මෙවලම් තීරණය කරයි: අකුරු, පැන්සල්, බුරුසු.

පෙරනිමියෙන්, පෝරමයේ සම්පූර්ණ සේවාදායක ප්‍රදේශය වැඩ කරන ප්‍රදේශය (කැන්වසය) ලෙස භාවිතා කරයි (ශීර්ෂකය, ප්‍රධාන මෙනුව සහ පෝරමයේ අනුචලන රේඛා නොමැතිව), නමුත් ඔබට සංරචක භාවිතයෙන් පෝරමය තුළ කුඩා වැඩ ප්‍රදේශ වෙන් කළ හැකිය. තීන්ත පෙට්ටියහෝ රූප. කැන්වස් ඛණ්ඩාංකයේ මූලාරම්භය වැඩ කරන ප්රදේශයේ ඉහළ වම් කෙළවරයි, වැඩ ප්රදේශයේ පළල තීරණය වන්නේ දේපල අනුව ය ClientWidth, උස - දේපල ClientHeight.

දේපළපන්තිය Tcanvas:

කැන්වස්:Tcanvas - ඇඳීමේ ප්රදේශය නිර්වචනය කරයි

බුරුසුව:Tbrush - සංවෘත හැඩතල පිරවීම සඳහා බුරුසුවක්

අකුරු:Tfont - කැන්වසය මත පෙළ පෙන්වීම සඳහා අකුරු

පෑන:Tpen - ඇඳීම සඳහා පැන්සල (පෑන).

PenPos:Tpoint - කැන්වසය මත නොපෙනෙන කර්සරයේ වත්මන් පිහිටීම

අදහස් දක්වන්න : Tpoint වර්ගය - පහත පරිදි අර්ථ දක්වා ඇත:

ටයිප් පොයින්ට් = වාර්තාව

පික්සල: Tcolor - කැන්වස් පික්සල්, X, Y - පික්සල් ඛණ්ඩාංකවල වර්ණ සකසයි. Pixels ගුණාංගය තෝරාගත් වර්ණ ලකුණු භාවිතා කරමින් ප්‍රස්තාර සැලසුම් කිරීම සඳහා භාවිතා කිරීමට පහසු වේ.

TCanvas පන්තියේ ප්රධාන ක්රම

    පටිපාටිය MoveTo(x,y:නිඛිල); - ඛණ්ඩාංක (x, y) සහිත ලක්ෂ්‍යයකට රේඛාවක් ඇඳීමෙන් තොරව පෑන ගෙන යයි.

    පටිපාටිය LineTo(x,y:නිඛිල); - ඛණ්ඩාංක (x, y) සමඟ වත්මන් ලක්ෂ්‍යයේ සිට ලක්ෂ්‍යයට රේඛාවක් අඳියි.

උදාහරණයක් : හැඩයේ ඉහළ වම් කෙළවරේ සිට පහළ දකුණු කෙළවර දක්වා හැඩය මත විකර්ණ නිල් රේඛාවක් අඳින්න.

Pen.color:= clblue;

MoveTo (0,0); LineTo (ClientWidth, ClientHeight);

    පටිපාටිය සෘජුකෝණාස්රය(x1,y1,x2,y2: නිඛිල); - සෘජුකෝණාස්රයක් අඳින්න: x1,y1 - ඉහළ වම් කෙළවරේ ඛණ්ඩාංක; x2, y2 යනු පහළ දකුණු කෙළවරේ ඛණ්ඩාංක වේ.

උදාහරණයක් : හැඩයේ මැද පික්සල 60 ක පැත්තක් සහිත කහ සෙවන සහිත චතුරස්රයක් අඳින්න.

var Xc,Yc: පූර්ණ සංඛ්‍යාව; //

Xc:=ClientWidth div 2;

Xy:=ClientHeight div 2;

Canvas.Brush.color:=cyellow;

Canvas.rectangle(xc-30,Yc-30,xc+30,Yc+30);

    පටිපාටිය ඉලිප්සය(x1,y1,x2,y2: නිඛිල); - නිශ්චිත ඛණ්ඩාංක සමඟ සෘජුකෝණාස්රයක කොටා ඇති ඉලිප්සයක් අඳින්න.

උදාහරණයක් : PaintBox සංරචකයේ කොටා ඇති ඉලිප්සයක් අඳින්න.

PaintBox1.Canvas.Pen.Width:=4; //රේඛා පළල = 4 පික්සල

PaintBox1.Canvas.Ellipse(0,0, PaintBox1. ClientWidth, PaintBox1. ClientHeight);

    පටිපාටිය බහුඅස්රය(); - ඛණ්ඩාංක මාලාවක් මගින් නිශ්චිතව දක්වා ඇති සංවෘත බහුඅස්‍රයක් අඳින්න.

උදාහරණයක් : හැඩයේ පැතිවල මැද ලක්ෂ්‍ය සම්බන්ධ කරමින් පිරවූ දියමන්තියක් අඳින්න

Var Xc,Yc:integer; // පෝරමයේ සේවාදායක ප්‍රදේශයේ මධ්‍යයේ ඛණ්ඩාංක

Xc:=ClientWidth div 2;

Xy:=ClientHeight div 2;

Canvas.Brush.Color:=Rgb(275,140,70); // දොඩම් වර්ණ සෙවන

Canvas.Polygon();

අවසානය;

    පටිපාටිය චාප(x1,y1,x2,y2,x3,y3,x4,y4:integer); - සෘජුකෝණාස්‍රයකින් සීමා වූ ඉලිප්සයක චාපය පෙන්වයි (x1, y1, x2, y2). චාපය ඛණ්ඩාංක (x3,y3) සහිත ලක්ෂ්‍යයක සිට ඛණ්ඩාංක (x4,y4) සහිත ලක්ෂ්‍යයක් දක්වා දර්ශනය වේ. එරෙහිදක්ෂිණාවර්තව.

උදාහරණයක් : සංරචකයේ ඉහළ පැත්තේ මැද සම්බන්ධ කරන ඉලිප්සාකාර චාපයක් අඳින්න
තීන්ත පෙට්ටිය එහි දකුණු පැත්තේ මැද.

ක්‍රියා පටිපාටිය Tform1.Button1Click(යවන්නා: Tobject);

Var X3,y3,x4,y4: නිඛිල;

PaintBox1 සමඟ කරන්න

Canvas.Pen.Color:= clWhite;

Canvas.Pen.Width:= 3;

Canvas.rectangle(0, 0, PaintBox1.ClientWidth, PaintBox1.ClientHeight);

X3:= ClientWidth div 2;

X4:= ClientWidth;

Y4:= ClientHeight div 2;

Canvas.Pen.Color:= clMaroon;

Canvas.ARC(0, 0, PaintBox1.ClientWidth, PaintBox1.ClientHeight, x3, y3, x4, y4);

අවසානය;

    පටිපාටිය Chord(x1,y1,x2,y2,x3,y3,x4,y4:integer); - chord එකක් අඳිනවා - ඉලිප්සයේ ලක්ෂ්‍ය 2ක් සම්බන්ධ කරන සරල රේඛාවක්: ලක්ෂ්‍යයක් (x4, y4) සහිත ඛණ්ඩාංක (x3, y3) සහිත ලක්ෂ්‍යයක්.

උදාහරණයක් : ARC ක්‍රමය සඳහා ලබා දී ඇති උදාහරණයේ Chord ක්‍රමය ආදේශ කර පහත ප්‍රතිඵලය ලබා ගන්න.

    පටිපාටිය පයි(x1,y1,x2,y2,x3,y3,x4,y4:integer); - ඛණ්ඩාංක (x3,y3) සහ (x4,y4) සමඟ ඉලිප්සයේ කේන්ද්‍රය සම්බන්ධ කරන ඉලිප්සාකාර කොටසක් අඳින්න.

උදාහරණයක් : ARC ක්‍රමය සඳහා ලබා දී ඇති උදාහරණයේ, PIE ක්‍රමය සිතා බලා මෙම ප්‍රතිඵලය ලබා ගන්න.

    පටිපාටිය TextOut(x,y:integer;Text:string); - පෙළ පරාමිතිය තුළ සම්මත වූ තන්තුව ඉහළ වම් කෙළවර දක්වා ඇති සෘජුකෝණාස්‍රයකට ප්‍රතිදානය කරයි x,y ඛණ්ඩාංක. අකුරු ලක්ෂණ අකුරු මෙවලම මගින් සකසා ඇත.

උදාහරණයක් : පෝරමයේ පහළින් සැලසුම් කළ ප්‍රස්ථාරයේ නම ලියන්න.

කැන්වස්.අකුරු.උස:=20 ; //අක්ෂර උස පික්සල 20

Canvas.Font.Color:=clblue;

Canvas.TextOut(10, ClientHeight-24, 'Function of Function SIN(X)');

ග්රැෆික් සංරචක

Delphi ඔබට වැඩිදියුණු කිරීමට ඉඩ සලසන සූදානම් කළ සංරචක ගණනාවක් ඉදිරිපත් කරයි පරිශීලක අතුරුමුහුණත. මෙම සංරචක පිටුවෙහි පිහිටා ඇත අතිරේකසහ පද්ධතිසංරචක palettes.

සංරචකයරූප(පන්තියටිමේජ්) - දිගු සමඟ බාහිර ගොනු වල ගබඩා කර ඇති ග්‍රැෆික් රූප පෙන්වීම සඳහා නිර්මාණය කර ඇත:

    Ico (අයිකනය, රූප සටහන);

    Bmp (bitmap, bitmap);

    Wmf, .emf (metafile);

    Jpg, .jpeg (JPEG සම්පීඩිත රූපය).

මූලික දේපළ :

ස්වයංක්‍රීය ප්‍රමාණය කරන්න:boolean - සත්‍ය ලෙස සකසා ඇති විට, සංරචකය එහි මානයන් පටවන ලද රූපයේ ප්‍රමාණයට සකස් කරයි; පෙරනිමිය අසත්‍යයි.

දිගු කරන්න:boolean - සත්‍ය නම්, පටවන ලද අගය සංරචකයේ මුළු ප්‍රදේශයම අල්ලා ගනී; පෙරනිමිය අසත්‍යයි.

කැන්වස්:Tcanvas - වැඩසටහන ක්‍රියාත්මක කිරීමේදී සංරචකය ඇතුළත ඇඳීම සඳහා භාවිතා කරයි.

පින්තූරය:Tpicture - සංරචකයේ තබා ඇති රූපය නිර්වචනය කරයි.

මූලික ක්රමපන්තිය චිත්රය:

පටිපාටිය LoadFromFile(ගොනු නාමය: string); - Filename නම් ගොනුවකින් රූපයක් සංරචකයට පූරණය කරයි.

පටිපාටිය SaveToFile(ගොනු නාමය: string); - රූපය සංරචකයේ සිට Filename නම් ගොනුවකට සුරකියි.

සංරචකයතීන්ත පෙට්ටිය - සෘජුකෝණාස්රාකාර ඇඳීම් ප්රදේශයක් නිර්වචනය කරයි. ප්රධාන දේපල වේ කැන්වස්, Tcanvas පන්තියේ සියලුම ක්රම තිබේ, එය ස්වාධීන ගුණාංග නොමැත.

උදාහරණයක් : PaintBox1 සංරචකයේ කොටා ඇති කහ ඉලිප්සයක් අඳින්න.

ක්රියා පටිපාටිය Tform1Button1Click (යවන්නා: Tobject);

PaintBox1.Canvas සමඟ කරන්න

බුරුසුව.වර්ණ:=cyellow;

Ellipse(0,0,PaintBox1.ClientWidth, PaintBox1.ClientHeight);

අවසානය;

සංරචකයBitBtn raster බොත්තම

BitBtn බොත්තම, සම්මත එක මෙන් නොව, මාතෘකාවට (ශීර්ෂ පාඨය) අමතරව, දේපල මගින් නිශ්චිතව දක්වා ඇති රූපයක් අඩංගු විය හැක. ග්ලයිෆ්. සම්මත BitBtn බොත්තම් කට්ටලයක් ඇත, පූර්ව නිශ්චිත ගුණාංග සහිත (නිශ්චිත පින්තූරයක්, ශිලා ලේඛනයක් සහ අරමුණක් සහිත) - සම්මත බොත්තම් වර්ගය දේපල හරහා තෝරා ගනු ලැබේ. කාරුණික. Kind=(bkCustom, bkAbort,bkCancel, bkClose ...)

කාර්ය අංක 1

ප්‍රධාන පෝරමයේ රූප සංරචක දෙකක් සහ බොත්තම් 4ක් අඩංගු යෙදුමක් සාදන්න ("පින්තූරය පූරණය කරන්න", "ජ්‍යාමිතික රූපයක් සාදන්න", "වර්ණය වෙනස් කරන්න", "පිටවීම") සහ ඔබට ඉඩ දෙන්නේ:

a) පරිශීලකයා විසින් තෝරාගත් Image1 සංරචකයට පූරණය කරන්න ග්රැෆික් රූපයඑවිට රූපය රූප සංරචකයේ මුළු ප්රදේශයම අල්ලා ගනී.

ආ) Image1 සංරචකය යටතේ “මෙය ගොනුවක පින්තූරයකි.

(සංරචකයේ ප්‍රමාණය සහ පිහිටීම පිළිබඳ ඕනෑම මිනුමක් සඳහාරූප1 ශිලා ලේඛනයක් විය යුතුය
සංරචකය යටතේ දැඩි ලෙස පිහිටා ඇත).

ඇ) Image2 සංරචකය තුළ ජ්‍යාමිතික රූපයක් අඳින්න: රූප සංරචකයේ මැද සහ පහළ සහ දකුණු පැතිවල මැද සම්බන්ධ කරන පිරවූ ඉලිප්සාකාර කොටසකි.

(සංරචකයේ ප්‍රමාණයේ සහ පිහිටීමෙහි කිසියම් වෙනසක් සඳහාරූප2 රූපය නිවැරදිව ගොඩනගා ගත යුතුය, i.e. සංරචකය සම්බන්ධ පිරිවිතර අනුවරූප2)

ඈ) ColorDialog සංරචකය භාවිතයෙන් පරිශීලකයාගේ ඉල්ලීම පරිදි Image2 හි අඳින ලද රූපයේ රේඛාවේ වර්ණය වෙනස් කරන්න.

කාර්ය අංක 2

රූප සංරචකයේ අහඹු ලෙස ලේබල් කිහිපයක් තැබීමට ඔබට ඉඩ සලසන යෙදුමක් සාදන්න (උදාහරණයක් ලෙස, "Hurray!" යන වචනය). ක්රියාත්මක කිරීම සඳහා, උත්පාදක යන්ත්රයක් භාවිතා කරන්න අහඹු සංඛ්යාසසම්භාවී කිරීම සහ සසම්භාවී ශ්‍රිතය.

රූප සංරචකයේ මානයන්, රූපයේ පෙන්වන වචනය සහ වචන ගණන පරිශීලකයා විසින් ඇතුළත් කළ යුතුය.

කාර්යය අංක 3

ListBox එකකින් ජ්‍යාමිතික හැඩයක නම තේරීමට සහ රූප සංරචකයේ තෝරාගත් හැඩය ඇඳීමට ඔබට ඉඩ සලසන යෙදුමක් සාදන්න. හැඩයේ වර්ණය RadioGroup සංරචකයෙන් තෝරා ඇත.

කාර්යය අංක 4

PaintBox1 සංරචකය සමාන කොටස් 4 කට බෙදන්න, එක් එක් කොටස වෙනස් වර්ණයකින් පින්තාරු කරන්න, උදාහරණයක් ලෙස: නිල්, කහ, කොළ, රතු.

PaintBox1 හි සෑම කොනකටම යාබදව, එම කෙළවරේ ඛණ්ඩාංක ලියන්න (PaintBox1 සංරචකය පිහිටා ඇති පෝරමයේ මූලාරම්භයට සාපේක්ෂව).

කාර්යය අංක 5

සමග

Radiogroup1 සංරචකයෙන් අඳින හැඩය තෝරන්න, Radiogroup2 සංරචකයෙන් පිරවුම් වර්ණය තෝරන්න, සහ රූප සංරචකයේ තෝරාගත් හැඩය අඳින්න.

කාර්යය අංක 6

PaintBox1 සංරචකයේ මානයන් (පික්සල වලින්) සැකසීමට පරිශීලකයාට ඉඩ දෙන යෙදුමක් සාදන්න.

PaintBox1 සංරචකය සමාන කොටස් 2 කට බෙදන්න, එක් එක් කොටස ඇතුළත ColorDialog හි පරිශීලකයා විසින් තෝරාගත් වර්ණයෙන් පුරවා ඇති ඉලිප්සයක් අඳින්න.

කාර්යය අංක 7

සමග ඔබට ඉඩ දෙන යෙදුමක් සාදන්න:

ListBox වෙතින් ජ්‍යාමිතික හැඩයක නම තෝරා රූප සංරචකයේ තෝරාගත් හැඩය අඳින්න. RadioGroup සංරචකයේ ඔව් තෝරාගෙන තිබේ නම්, ColorDialog සංරචකයේ පරිශීලකයා විසින් තෝරාගත් වර්ණයෙන් හැඩය පිරවිය යුතුය.

කාර්යය අංක 8

PaintBox1 සංරචකයේ මානයන් (පික්සල වලින්) සැකසීමට පරිශීලකයාට ඉඩ දෙන යෙදුමක් සාදන්න.

PaintBox1 සංරචකය සමාන කොටස් 4කට බෙදන්න, එක් එක් කොටස ඇතුළත වෙනස් ජ්‍යාමිතික හැඩයක් (ඉලිප්සය, රොම්බස්, ත්‍රිකෝණය සහ සෘජුකෝණාස්රය) අඳින්න. එක් එක් හැඩයේ වර්ණය ColorGrid හි පරිශීලකයා විසින් තෝරා ගනු ලැබේ.

කාර්යය අංක 9

ListBox එකෙන් ජ්‍යාමිතික හැඩයේ නම තෝරන්න
හැඩතල (ඉලිප්සාකාරය, රොම්බස්, සෘජුකෝණාස්රය) සහ ඇඳීම
රූප සංරචකයේ තෝරාගත් හැඩය. ස්ථානය
රූප සංරචකයේ හැඩතල (I කාර්තුව, II කාර්තුව,

III හෝ IV කාර්තුව) සහ රූපයේ වර්ණය තෝරා ඇත
RadioGroup සංරචක වලින්.

කාර්යය අංක 10

PaintBox1 සංරචකයේ මානයන් (පික්සල වලින්) සැකසීමට පරිශීලකයාට ඉඩ දෙන යෙදුමක් සාදන්න.

පැති ප්‍රමාණය පෙළ විය නොහැකි බවත්, සෘණ අංකයක් විය නොහැකි බවත්, කුඩා පෝරම ප්‍රමාණය ඉක්මවිය නොහැකි බවත් සපයන්න.

PaintBox1 සංරචකය සමාන කොටස් 4 කට බෙදන්න, එක් එක් කොටස ඇතුළත Combobox (ඉලිප්සාකාරය, rhombus, ත්‍රිකෝණය සහ සෘජුකෝණාස්රය) පරිශීලකයා විසින් තෝරාගත් ජ්යාමිතික හැඩයක් අඳින්න. රූපයේ වර්ණය ColorBox හි පරිශීලකයා විසින් තෝරා ගනු ලැබේ.

කාර්ය අංක 11

ඔබට ඉඩ දෙන යෙදුමක් සාදන්න:

රේඩියෝ සමූහ සංරචකයෙන් චිත්‍රයේ පිහිටීම තෝරන්න

දකුණු ත්‍රිකෝණයේ රූප සංරචකයේ, සකසන්න
රූපයේ සෙවනේ වර්ණය හෝ දළ සටහන් වර්ණය මත පදනම්ව
Checkbox බොත්තම් සක්රිය කිරීම. හරහා වර්ණය තෝරන්න
ColorGrid සංරචකය.

කාර්යය අංක 12

PaintBox1 සංරචකයේ මානයන් (පික්සල වලින්) සැකසීමට පරිශීලකයාට ඉඩ දෙන යෙදුමක් සාදන්න.

පැති ප්‍රමාණය පෙළ විය නොහැකි බවත්, සෘණ අංකයක් විය නොහැකි බවත්, කුඩා පෝරම ප්‍රමාණය ඉක්මවිය නොහැකි බවත් සපයන්න.

PaintBox1 සංරචකය සමාන කොටස් 2 කට බෙදන්න, එක් කොටසක් ඇතුළත Combobox (ඉලිප්සාකාරය, rhombus, ත්‍රිකෝණය සහ සෘජුකෝණාස්රය) පරිශීලකයා විසින් තෝරාගත් ජ්යාමිතික හැඩයක් අඳින්න. රූපයේ වර්ණය ColorBox හි පරිශීලකයා විසින් තෝරා ගනු ලැබේ.

උදාහරණයක් ලෙස, ඔබට පෝරමයේ වර්ණය පහත පරිදි වෙනස් කළ හැකිය:

form1.Color:= ColorBox1.Colors;

කාර්යය අංක 13

ඔබට ඉඩ දෙන යෙදුමක් සාදන්න:

a) හැඩයේ මැද චතුරස්රයක් අඳින්න (චතුරස්රයේ පැත්තේ ප්රමාණය පරිශීලකයා විසින් ඇතුල් කරනු ලැබේ). පැති ප්‍රමාණය පෙළ විය නොහැකි බවත්, සෘණ අංකයක් විය නොහැකි බවත්, කුඩා පෝරම ප්‍රමාණය ඉක්මවිය නොහැකි බවත් සපයන්න.

b) පිරික්සුම් කොටු බොත්තම් ඇතුළත් කිරීම මත පදනම්ව, චතුරස්රය විකර්ණ එකකට හෝ දෙකකට බෙදන්න, සහ ලැබෙන එක් එක් ත්‍රිකෝණය වෙනස් වර්ණයකින් පින්තාරු කරන්න. වර්ණ තේරීම පරිශීලකයා විසින් සිදු කරනු ලැබේ.

කාර්යය අංක 14

PaintBox1 සංරචකයේ මානයන් (පික්සල වලින්) සැකසීමට පරිශීලකයාට ඉඩ දෙන යෙදුමක් සාදන්න.

පැති ප්‍රමාණය පෙළ විය නොහැකි බවත්, සෘණ අංකයක් විය නොහැකි බවත්, කුඩා පෝරම ප්‍රමාණය ඉක්මවිය නොහැකි බවත් සපයන්න.

PaintBox1 සංරචකය සමාන කොටස් 2 කට බෙදා, එක් කොටසක් ඇතුළත රොම්බස් අඳින්න, අනෙක් කොටස ඇතුළත ඕනෑම ත්‍රිකෝණයක් අඳින්න. රූපයේ වර්ණය ColorBox හි පරිශීලකයා විසින් තෝරා ගනු ලැබේ.

උදාහරණයක් ලෙස, ඔබට පෝරමයේ වර්ණය පහත පරිදි වෙනස් කළ හැකිය:

form1.Color:= ColorBox1.Colors;

කාර්යය අංක 15

ඔබට ඉඩ දෙන යෙදුමක් සාදන්න:

අ) රූප සංරචකයේ මානයන් තිරස් අතට සහ සිරස් අතට සකසන්න, යතුරුපුවරුවෙන් පරිශීලකයා විසින් ඇතුළත් කරන ලද අංකයට සමාන හා සමාන වේ;

(පැති ප්‍රමාණය පෙළ විය නොහැකි බවත්, සෘණ අංකයක් විය නොහැකි බවත්, කුඩා පෝරම ප්‍රමාණය ඉක්මවිය නොහැකි බවත් සපයන්න)

b) රූප සංරචකය නිල් රේඛා දෙකක් සහිත සමාන කොටු 4කට බෙදන්න;

ඇ) එක් එක් ප්‍රතිඵල සහිත චතුරස්‍රය තුළ, එහි කොටා ඇති රවුමක් අඳින්න (පරිශීලකයාට වර්ණ තේරීම් සංවාද කොටුව හරහා රවුම් වල වර්ණය තෝරා ගැනීමට ඉඩ දෙන්න).

කාර්යය අංක 16

PaintBox1 සංරචකයේ මානයන් (පික්සල වලින්) සැකසීමට පරිශීලකයාට ඉඩ දෙන යෙදුමක් සාදන්න.

පැති ප්‍රමාණය පෙළ විය නොහැකි බවත්, සෘණ අංකයක් විය නොහැකි බවත්, කුඩා පෝරම ප්‍රමාණය ඉක්මවිය නොහැකි බවත් සපයන්න.

PaintBox1 සංරචකය සමාන කොටස් 9 කට බෙදා එක් එක් චෙක්බෝඩ් සෘජුකෝණාස්රය තීන්ත ආලේප කරන්න. පිරවුම් වර්ණය ColorBox හි පරිශීලකයා විසින් තෝරා ගනු ලැබේ.

උදාහරණයක් ලෙස, ඔබට පෝරමයේ වර්ණය පහත පරිදි වෙනස් කළ හැකිය:

form1.Color:= ColorBox1.Colors;

කාර්යය අංක 17

පෝරමයේ රූප සංරචක දෙකක් සහ බොත්තම් හතරක් තබන්න: රේඛා වර්ණය, පිරවුම් වර්ණය, හරි සහ පිටවීම; සහ සංස්කරණ සංරචකය.

ඔබ OK බොත්තම ක්ලික් කළ විට, Image1 හි X පැත්තක් සහිත චතුරස්‍රයක් අඳිනු ලබන අතර, X දිග ඇති සෑම පාදයක්ම සමාන පාද සහිත සෘජුකෝණාස්‍රයක් Image2 හි අඳිනු ලැබේ.

ත්‍රිකෝණයේ ශීර්ෂය Image2 හි මූලාරම්භය සමඟ සමපාත වේ. චතුරස්‍රයේ එක් සිරස් එකක් Image1 හි මූලාරම්භය සමඟ සමපාත වේ.

OK බොත්තම ලබා ගත හැක්කේ ඔබ හැඩය ඇඳීම සඳහා රේඛා වර්ණයක් සහ පිරවුම් වර්ණයක් තෝරාගත් විට පමණි.

X – සසම්භාවී ශ්‍රිතය භාවිතයෙන් අහඹු ලෙස තෝරා ගන්නා අතර X හි අගය සංස්කරණ සංරචකයේ පෙන්විය යුතුය.

කාර්යය අංක 18

PaintBox1 සංරචකයේ මානයන් (පික්සල වලින්) සැකසීමට පරිශීලකයාට ඉඩ දෙන යෙදුමක් සාදන්න.

PaintBox1 සංරචකය සමාන කොටස් 4 කට බෙදන්න; පරිශීලක-තෝරාගත් කොටස තුළ, පිරවූ කවයක් ගොඩනගා ගත යුතුය, එහි ප්‍රමාණය පරිශීලකයා විසින් සකසා ඇත. පරිශීලකයා ColorBox හි පිරවුම් වර්ණය තෝරා ගනී.

උදාහරණයක් ලෙස, ඔබට පෝරමයේ වර්ණය පහත පරිදි වෙනස් කළ හැකිය:

form1.Color:= ColorBox1.Colors;

ග්රැෆික් තොරතුරු පෙන්වීම සඳහා සංරචක ලැයිස්තුව

ග්රැෆික් තොරතුරු ප්රදර්ශනය කිරීම සඳහා, Delphi පුස්තකාලය සංරචක සපයයි, ඒවායේ ලැයිස්තුව වගුව 4.1 හි දක්වා ඇත.

වගුව 4.1 ග්‍රැෆික් තොරතුරු සංදර්ශක සංරචක Pictogram

සංරචකය

පිටුව

විස්තර

රූප

ග්‍රැෆික්ස් ප්‍රදර්ශනය කිරීමට භාවිතා කරයි: අයිකන, බිට්මැප් සහ මෙටාෆයිල්.


තීන්ත පෙට්ටිය (ඇඳීම සඳහා කවුළුව)

ඔබට ඇඳීමට හැකි පෝරමය මත යම් ප්රදේශයක් නිර්මාණය කිරීමට භාවිතා කරයි.


DrawGrid (ඇඳීම් වගුව)

පේළි සහ තීරුවල අකුරු නොවන දත්ත පෙන්වීමට භාවිතා කරයි.


ප්‍රස්ථාර (ප්‍රස්ථාර සහ ප්‍රස්ථාර)

ප්‍රස්ථාර සහ ප්‍රස්ථාර සෑදීමට භාවිතා කරන සංරචක TChart පවුලට සංරචකය අයත් වේ.


මීට අමතරව, ඔබට කැන්වසය මත ඕනෑම දර්ශන ග්‍රැෆික්ස් මතුපිට ග්‍රැෆික් තොරතුරු ප්‍රදර්ශනය කර ඇතුළත් කළ හැකිය.

කැන්වස් කැන්වස්සංරචකයක් නොවේ, එබැවින් දැඩි ලෙස කථා කිරීම මෙම පොතේ විෂය පථය තුළ නොසැලකිය යුතුය. නමුත් බොහෝ සංරචක, විශේෂයෙන් ආකෘති, දළ සටහනක් ඇති බැවින් සහ දළ සටහන විවිධ ග්‍රැෆික් තොරතුරු ප්‍රදර්ශනය කිරීමේ හැකියාව ලබා දෙන බැවින්, දළ සටහන පිළිබඳ මූලික තොරතුරු ලබා දීම තවමත් සුදුසුය.

කැන්වසය යනු ඔබට නිමි පින්තූර ඇඳීමට හෝ ප්‍රදර්ශනය කිරීමට හැකි සංරචකයක ප්‍රදේශයයි. එහි Delphi ග්‍රැෆික්ස් බෙහෙවින් සරල කරන ගුණාංග සහ ක්‍රම අඩංගු වේ. පද්ධතිය සමඟ ඇති සියලුම සංකීර්ණ අන්තර්ක්‍රියා පරිශීලකයා සඳහා සඟවා ඇත, එබැවින් පරිගණක ග්‍රැෆික්ස් පිළිබඳ කිසිසේත්ම පළපුරුද්දක් නොමැති පුද්ගලයෙකුට ඩෙල්ෆි හි ඇඳීමට හැකිය.

දළ සටහනේ සෑම ලක්ෂයකටම ඛණ්ඩාංක ඇත xසහ වයි. කැන්වස් ඛණ්ඩාංක පද්ධතිය, ඩෙල්ෆිහි වෙනත් තැන්වල මෙන්, එහි සම්භවය කැන්වසයේ ඉහළ වම් කෙළවරේ ඇත. සම්බන්ධීකරණය කරන්න xවමේ සිට දකුණට ගමන් කරන විට වැඩි වේ, සහ ඛණ්ඩාංකය වයි- ඉහළ සිට පහළට ගමන් කරන විට. ඛණ්ඩාංක මනිනු ලබන්නේ පික්සල වලින්. පික්සලයක් යනු නිර්මාණයක මතුපිට හැසිරවිය හැකි කුඩාම මූලද්‍රව්‍යය වේ. පික්සලයක ඇති වැදගත්ම ගුණාංගය වන්නේ එහි වර්ණයයි.

කැන්වස් දේපල ඇත පික්සල. මෙම ගුණාංගය කැන්වසයේ වර්ණ සඳහා වගකිව යුතු ද්විමාන අරාවකි. උදාහරණ වශයෙන්, කැන්වස්. පික්සලපික්සලයේ වර්ණයට ගැලපේ 10 වැනි වමේ සිට සහ 20 වැනි ඉහළින්. ඔබට ඕනෑම දේපලක් මෙන් පික්සෙල් අරාවක් සැලකිය හැකිය: පික්සලයට නව අගයක් ලබා දීමෙන් වර්ණය වෙනස් කරන්න, නැතහොත් එහි ගබඩා කර ඇති අගයකින් එහි වර්ණය තීරණය කරන්න. උදාහරණ වශයෙන්, කැන්වස්. පික්සල:=0හෝ කැන්වස්. පික්සල:=clBlack- මෙය පික්සලය කළු පැහැයට සැකසීමයි.

දේපල පික්සලකැන්වස් මත ඇඳීම සඳහා භාවිතා කළ හැකිය. පෝරමයේ දළ සටහන මත sinusoid එකක pixel-by-pixel ප්‍රස්ථාරයක් ඇඳීමට උත්සාහ කරමු. මෙය සිදු කිරීම සඳහා, පෝරමයේ සිදුවීම් හසුරුවන්නෙහි 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 a හි පෙන්වා ඇති ප්‍රතිඵලය පෙනෙනු ඇත. සයින් තරංග ප්‍රස්ථාරය ඉතා හොඳ නැති වුවද, මන්ද තනි ලකුණු වලට බෙදා ඇත - පික්සල.

කැන්වස් - පන්ති වස්තුව TCanvasදේපල භාවිතා කරමින් ප්‍රස්ථාර, රේඛා, හැඩතල ඇඳීමට ඔබට ඉඩ සලසන බොහෝ ක්‍රම තිබේ පෑන- පිහාටු. මෙම ගුණාංගය වස්තුවක් වන අතර, එය ගුණාංග ගණනාවක් ඇත. ඒවායින් එකක් ඔබ දැනටමත් දන්නා දේපලකි වර්ණ- ඇඳීම යොදන වර්ණය. දෙවන දේපල - පළල(රේඛා පළල). පළල පික්සල වලින් දක්වා ඇත. පෙරනිමි පළල 1 වේ.

දේපල ශෛලියරේඛාවේ වර්ගය තීරණය කරයි. මෙම දේපල පහත අගයන් ගත හැක:

කැන්වස් දේපල ඇත PenPosවර්ගය TPoint(සෙමී .) මෙම ගුණාංගය කැන්වස් ඛණ්ඩාංකවල පෑනෙහි වත්මන් පිහිටීම තීරණය කරයි. රේඛාවක් ඇඳීමකින් තොරව පෑන චලනය කිරීම, i.e. වෙනස් කිරීම PenPos, කැන්වස් ක්රමය මගින් නිෂ්පාදනය MoveTo(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*4*Pi/ClientWidth;:=Sin(X);

(PY - පික්සල් ඛණ්ඩාංකය,

Y ඛණ්ඩාංකයට අනුරූප වේ):=trunc(ClientHeight - (Y+1) *ClientHeight/2);

(ප්‍රස්ථාරයේ රේඛාවක් ඇඳ ඇත). LineTo (PX,PY);

4.1 b හි මෙම අනුවාදයේ යෙදුමේ ප්‍රති result ලය ඔබට දැක ගත හැකිය. ඔබට පෙනෙන පරිදි, චිත්රකවල ගුණාත්මකභාවය සැලකිය යුතු ලෙස වැඩිදියුණු වී ඇත.

පෑන සරල රේඛා පමණක් නොව හැඩතල ද ඇඳිය ​​හැකිය. පෑන භාවිතා කරන කැන්වස් ක්‍රම පිළිබඳ සම්පූර්ණ ලැයිස්තුවක් සඳහා, Delphi's build-in help බලන්න. දැනට, උදාහරණයක් ලෙස, අපි ඒවායින් එකක් පමණක් දෙන්නෙමු - ඉලිප්සය, එය ඉලිප්සයක් හෝ කවයක් අඳියි. ලෙස ප්‍රකාශ කර ඇත

පටිපාටිය Ellipse(X1, Y1, X2, Y2: Integer);

පරාමිති කොහෙද X1, X2, Y1, Y2ඉලිප්සයක් හෝ වෘත්තයක් විස්තර කරන සෘජුකෝණාස්‍රයක ඛණ්ඩාංක තීරණය කරන්න. උදාහරණයක් ලෙස, ක්රියාකරු

Ellipse(10, 40, 20, 50);

10 ක විෂ්කම්භයක් සහ මධ්ය ඛණ්ඩාංක (15, 45) සහිත කවයක් අඳිනු ඇත.

සාමාන්‍ය අවස්ථාවෙහිදී, සංඛ්‍යා අඳින්නේ හිස් නොව, කැන්වස් දේපල භාවිතයෙන් පුරවා ඇත බුරුසුව- බුරුසුව. දේපල බුරුසුවයනු ගුණාංග ගණනාවක් ඇති වස්තුවකි. දේපල වර්ණපිරවුම් වර්ණය නිර්වචනය කරයි. දේපල ශෛලියපිරවුම් රටාව (සෙවන) නිර්වචනය කරයි. පෙරනිමි අගය ශෛලියසමාන bsSolid, එනම් ඝන වර්ණ ගැන්වීම වර්ණ.

පෑන ළඟ පෑනඅප තවමත් සලකා බැලූ තවත් දේපලක් තිබේ. මෙම දේපල වේ මාදිලිය(මාදිලිය). පෙරනිමි අගය මාදිලිය = pmපිටපත් කරන්න. මෙයින් අදහස් කරන්නේ දේපලෙහි දක්වා ඇති වර්ණය සමඟ රේඛා ඇඳ ඇති බවයි වර්ණ. නමුත් වර්ණය පමණක් සැලකිල්ලට නොගන්නා වෙනත් මාතයන් ද හැකි ය වර්ණ, නමුත් අනුරූප පසුබිම් පික්සල වල වර්ණය ද වේ. මෙම මාදිලිවලින් වඩාත් සිත්ගන්නා සුළු වන්නේ pmNotXor- ප්‍රතිලෝම සුවිශේෂී OR භාවිතයෙන් පසුබිම සමඟ එකතු කිරීම. මෙම මාදිලිය සකසා ඇත්නම්, එම රූපය නැවත කැන්වසය මත එම ස්ථානයේම ඇඳීමෙන් කලින් අඳින ලද රූපය ඉවත් කර රූපයේ පළමු රූපයට පෙර තිබූ පික්සල් වර්ණ ප්‍රතිස්ථාපනය කරයි.

මාදිලියේ මෙම විශේෂාංගය pmNotXorසරල සජීවිකරණ නිර්මාණය කිරීමට භාවිතා කළ හැක. යමක් ඇඳීමට එය ප්‍රමාණවත් වේ, පසුව ඔබ ඇදගත් දේ මකා දමන්න, එය තරමක් වෙනස් කර නැවත අඳින්න - එවිට චිත්‍රය ජීවයට පැමිණෙන බව පෙනේ.

ඔබම සරල සජීවිකරණයක් කිරීමට උත්සාහ කරන්න - චලනය වන කවයක්. නව යෙදුමක් ආරම්භ කර යන්න ක්රියාත්මක කිරීමදැන්වීම ඇතුල් කරන්න

X,Y: නිඛිල;

මෙය ගෝලීය විචල්‍යයන් හඳුන්වා දෙනු ඇත xසහ වයි- වත්මන් රූප ඛණ්ඩාංක.

පෝරමය සිදුවීමේදී OnPaintප්රකාශ ඇතුලත් කරන්න

බුරුසුව. වර්ණය:=clWhite;:=clWhite;. පෑන. මාදිලිය:=pmNotXor;

මෙම ක්රියාකරුවන්ගෙන් පළමුවැන්නා බුරුසු වර්ණය සුදු පැහැයට සකසයි බුරුසුව. මෙයින් අදහස් කරන්නේ ඔබේ කවය ඇතුළත සුදු පැහැයෙන් වර්ණාලේප කර ඇති බවයි. දෙවන ක්රියාකරු පෝරමය මතුපිට පසුබිම් වර්ණය සුදු පැහැයට සකසයි.

තුන්වන ක්රියාකරු පෑන මාදිලිය සකසයි pmNotXor, නව රූපයක් ඇඳීමට පෙර පැරණි රූපය මකා දැමීමට ඔබට ඉඩ සලසයි.

සරලම සජීවිකරණයට පවා සමමුහුර්තකරණය අවශ්ය වේ. එසේ නොමැති නම්, චලනය වීමේ වේගය පරිගණකයේ වේගය අනුව තීරණය වේ. එබැවින්, සංරචකය පෝරමයට මාරු කරන්න ටයිමර්- පද්ධති පිටුවෙන් ටයිමරය. මෙම සංරචකය 5.7 වගන්තියේ විස්තර කර ඇත .

ඔබට එය එහි නැරඹිය හැකිය විස්තරාත්මක සටහන. දැනට, එහි දේපල සකසන්න අන්තරයඋදාහරණයක් ලෙස, 30 ට සමාන වේ (මෙය මිලි තත්පර වල නිරාවරණ කාලය වේ, නමුත් තත්ය කාලයෂටර වේගය දිගු වනු ඇත - 5.7 කොටස බලන්න) සහ දේපල සකසන්න සබල කර ඇතසමාන බොරු(මෙයින් අදහස් වන්නේ යෙදුම දියත් කරන විට ටයිමරය ස්වයංක්‍රීයව ආරම්භ නොවන බවයි).

මෙම සංරචකයේ සිදුවීම් හසුරුවන්නා තුළ OnTimerප්රකාශ ඇතුලත් කරන්න

// පෙර රූපය මකන්න. Ellipse (X-5, Y, X+5, Y-1Q);(X);

// නව රූපයක් අඳින්න. Ellipse (X-5, Y, X+5, Y-10);

// පෝරමයේ අවසානයට ළඟා වන විට නවත්වන්න

නම්(X >= ClientWidth-20) ඉන්පසු. සක්රීය: = අසත්ය;

මෙම ක්රියාකරුවන්ගෙන් පළමුවැන්නා එය කලින් ඇඳ ඇති ස්ථානයේ රවුමක් අඳියි, i.e. පෙර රූපය මකා දමයි.

අන්තිම ක්රියාකරු රූපයේ කෙළවරේ රූපය නතර කරයි.

දැන් පෝරමයට බොත්තමක් එක් කරන්න බොත්තමසහ එය මත ක්ලික් හසුරුවෙහි ක්රියාකරුවන් තබන්න

X: =10;: =100;. Ellipse (X-5, Y, X+5, Y-10);. සබලයි: = true;

පළමු ක්රියාකරුවන් දෙදෙනා රවුමේ ආරම්භක ඛණ්ඩාංක නියම කරයි. තෙවන ක්‍රියාකරු එහි ආරම්භක ස්ථානයේ රවුම අඳින අතර, සිව්වන ක්‍රියාකරු ටයිමරය ආරම්භ කරයි.

යෙදුම විකාශනය කරන්න, එය ක්රියාත්මක කරන්න, බොත්තම මත ක්ලික් කරන්න. හැඩය හරහා වමේ සිට දකුණට චලනය වන රවුමක රූපයක් ඔබට පෙනෙනු ඇත. ඉන්පසු ඔබේ පරිකල්පනය භාවිතා කර මෙම ඉතා රසවත් නොවන යෙදුම වඩාත් ආකර්ෂණීය දෙයක් බවට පරිවර්තනය කරන්න.

කැන්වසයට ක්‍රමලේඛනගතව නිර්මාණය කරන ලද පින්තූර පමණක් නොව, ග්‍රැෆික් ගොනු වල ගබඩා කර ඇති පින්තූර ද පෙන්විය හැක. ගොනුවකින් රූපයක් පූරණය කිරීමේ ක්‍රමයක් නොමැති කැන්වසයට පමණි. එබැවින්, ග්‍රැෆික් ගොනු වලින් තොරතුරු ලබා ගත හැකි වෙනත් ග්‍රැෆික් වස්තුවකට ගොනුව පැටවිය යුතුය. ඉන්පසු කැන්වස් ක්‍රමය භාවිතයෙන් මෙම වස්තුවේ සිට කැන්වසයට රූපය නැවත ලියන්න අඳින්න. එහි විස්තරය:

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

මෙන්න පරාමිති xසහ වයිකැන්වසය මත රූප තැබීමේ ඉහළ වම් කෙළවරේ ඛණ්ඩාංක තීරණය කරන්න, a ග්රැෆික්- තොරතුරු ගබඩා කරන වස්තුවක්. එවැනි වස්තුවක්, උදාහරණයක් ලෙස, වර්ගයේ වස්තුවක් විය හැකිය TBitMap, bit matrices ගබඩා කිරීමට නිර්මාණය කර ඇත. මේ සියල්ල ප්‍රායෝගිකව පෙනෙන්නේ කෙසේදැයි බලමු.

නව යෙදුමක් විවෘත කරන්න, පෝරමයට සංරචකයක් ඇදගෙන යන්න OpenPictureDialogසංවාද පිටුවෙන් (මෙය ග්‍රැෆික් ගොනු විවෘත කිරීම සඳහා වන සංවාදයේ අංගයකි - 8.2 කොටස බලන්න ) සහ බොත්තම බොත්තම. ස්ථානය OpenPictureDialogපෝරමයේ ඕනෑම තැනක, මෙම සංරචකය දෘශ්‍ය නොවන බැවින්, සහ පෝරමයේ පතුලේ බොත්තම තබන්න. ඔබගේ බොත්තම ක්ලික් හසුරුව වෙත පහත කේතය එක් කරන්න:

පටිපාටිය TForm1. Button1Click (යවන්නා: TObject);

var: TBitMap;

// පරිශීලක තේරීම ග්රැෆික් ගොනුව

නම් OpenPictureDialog1. ක්රියාත්මක කරන්න ඉන්පසු

// TBitMap වර්ගයේ BitMap වස්තුවක් සාදන්න: =TBitMap. නිර්මාණය කරන්න;

// රූපය පෝරමය කැන්වසයට මාරු කරන්න. ඇඳීම (10, 10, BitMap);

//බිට්මැප් වස්තුව විනාශ කිරීම. නිදහස්;

අවසානය;

මෙම කේතය වර්ගයේ තාවකාලික වස්තුවක් නිර්මාණය කරයි TBitMapනමත් එක්ක BitMap. එවිට ග්‍රැෆික් ගොනුවක් විවෘත කිරීම සඳහා වන සංවාද කොටුව හැඳින්වේ OpenPictureDialog1සහ, පරිශීලකයා ගොනුවක් තෝරාගෙන තිබේ නම්, එය බාගත කරනු ලැබේ BitMapක්රමය LoadFromFile. ඉන්පසු ක්රමය භාවිතා කරන්න අඳින්නපටවන ලද රූපය ඉහළ වම් කෙළවරේ (10,10) ඛණ්ඩාංක සමඟ ප්රදේශයේ කැන්වසය මතට පිටපත් කර ඇත. මෙයින් පසු තාවකාලික වස්තුව BitMapවිනාශ වේ.

ඔබගේ යෙදුම දියත් කර එහි බොත්තම ක්ලික් කරන්න. ඔබට ඕනෑම ආකාරයක ග්‍රැෆික් ගොනුවක් උඩුගත කළ හැකි බව ඔබට පෙනෙනු ඇත. bmpසහ එය පෝරමයේ දළ සටහනෙහි ප්රදර්ශනය කරනු ඇත (රූපය 4.2 a බලන්න). පින්තූර නාමාවලිය තුළ ඔබට ග්‍රැෆික් ගොනු සොයාගත හැකිය. Delphi 5 සහ 4 හි එය සාමාන්යයෙන් බහලුමක පිහිටා ඇත. \program files\Common Files\Borland Shared. Delphi 3 හි එය බහලුමක පිහිටා ඇත. \program files\Borland\Delphi 3, සහ Delphi 1 හි - Delphi 16 බහලුම තුළ, රූප නාමාවලියෙහි, විශේෂයෙන්, උප බහලුම \Images\Splash\16Color\, රූපයේ උදාහරණයේ පටවා ඇති ගොනුව ගබඩා කරයි. 4.2

ඔබ ග්‍රැෆික් ගොනු බැලීම සඳහා හොඳ යෙදුමක් නිර්මාණය කර ඇත. නමුත් දැන් අපි එහි ප්රධාන අවාසිය දැකීමට උත්සාහ කරමු. ඔබගේ අයදුම්පත වසා නොගෙන, වෙනත් වැඩසටහනකට යන්න, උදාහරණයක් ලෙස, ඩෙල්ෆි වෙත ආපසු යන්න. ඉන්පසු, එහි කිසිවක් නොකර, ඔබගේ ධාවන යෙදුම වෙත ආපසු යන්න. ඔබ ඇතුළු වූ වැඩසටහන් කවුළුව ඔබගේ යෙදුමේ කවුළුව සම්පූර්ණයෙන්ම අවහිර කර ඇත්නම්, ඔබ එය වෙත ආපසු ගිය විට කවුළුවේ පින්තූරය අතුරුදහන් වී ඇති බව ඔබට පෙනෙනු ඇත. ඔබගේ යෙදුම් කවුළුව අර්ධ වශයෙන් පමණක් අතිච්ඡාදනය වී තිබුනේ නම්, ඔබ ඔබගේ යෙදුම වෙත ආපසු ගිය විට, ඔබට Fig. 4.2 b හි පෙන්වා ඇති ප්‍රතිඵලයට සමාන ප්‍රතිඵලයක් දැකිය හැක.

වෙනත් යෙදුමක කවුළුව ඔබේ යෙදුමේ කවුළුව තාවකාලිකව අතිච්ඡාදනය වන්නේ නම්, පෝරමයේ දළ සටහනේ අඳින ලද රූපය නරක් වී ඇති බව ඔබට පෙනේ. මෙම අඩුපාඩුව ඉවත් කරන්නේ කෙසේදැයි බලමු.

කවුළුවක් අවහිර වී ඇති අතර රූපය දූෂිත වී ඇත්නම්, මෙහෙයුම් පද්ධතිය පරිසරයේ යමක් වෙනස් වී ඇති බවත් යෙදුම සුදුසු ක්‍රියාමාර්ග ගත යුතු බවත් යෙදුමට කියයි. කවුළුව යාවත්කාලීන කිරීම අවශ්ය වූ වහාම, එය සඳහා සිදුවීමක් උත්පාදනය වේ OnPaint. මෙම සිදුවීම හසුරුවන්නෙහි (අපගේ නඩුවේදී, පෝරමය සිදුවීම), ඔබට රූපය නැවත ඇඳීමට අවශ්ය වේ.

නැවත ඇඳීම සිදු කළ හැකිය විවිධ ක්රමයෙදුම මත පදනම්ව. අපගේ උදාහරණයේ දී, විචල්යයක් ප්රකාශ කිරීමට හැකි වනු ඇත BitMap(ක්රියාකරු var BitMap: TBitMap) ඉහත ක්‍රියා පටිපාටියෙන් ඔබ්බට, i.e. මෙම විචල්‍යය කෙලින්ම කොටසේ තැබීමෙන් ගෝලීය කරන්න ක්රියාත්මක කිරීම. ක්රියාකරු BitMap. නිදහස්පෝරමය සිදුවීම් හසුරුවන්න වෙත ගෙන යා හැක OnDestroy, යෙදුම වසා ඇති විට සිදු වේ. එවිට ඔබගේ යෙදුම සම්පූර්ණ ක්‍රියාත්මක කිරීමේදී ඔබට සංරචකයේ රූපයේ පිටපතක් ලැබෙනු ඇත BitMapඔබට අවශ්‍ය වන්නේ Event handler වෙත ඇතුළු වීම පමණි OnPaintපෝරමයේ ඇත්තේ එක් ක්‍රියාකරුවෙකු පමණි:

ඇඳීම (10, 10, BitMap);

මෙය සිදු කරන්න, කවුළුවේ අතිච්ඡාදනය හේතුවෙන් පෝරමයේ රූපය නරක් නොවන බව ඔබට පෙනෙනු ඇත.

සලකා බැලූ ක්රමයට අමතරව අඳින්නදළ සටහනෙහි පිටපත් කිරීමේ ක්‍රමයක් ද ඇත CopyRect:

CopyRect(Dest: TRect; Canvas: TCanvas; මූලාශ්‍රය: TRect);

මෙම ක්රමය නිශ්චිත පරාමිතිය පිටපත් කරයි මූලාශ්රයරූප මූලාශ්‍ර කැන්වසයේ රූප ප්‍රදේශය කැන්වස්නිශ්චිත පරාමිතිය වෙත ඩෙස්ට්මෙම කැන්වසයේ ප්රදේශය. ටයිප් කරන්න TRect, සෘජුකෝණාස්රාකාර ප්රදේශ ගුනාංගීකරනය කිරීම මූලාශ්රයසහ ඩෙස්ට්, දැනටමත් 3.2 වගන්තියේ විස්තර කර ඇත .

උදාහරණයක් ලෙස, ක්රියාකරු

CopyRect(MyRect2, Bitmap. Canvas, MyRect1);

ප්රදේශයේ පෝරමය දළ සටහනට පිටපත් MyRect2ප්රදේශයේ සිට රූපය MyRect1සංරචක කැන්වස් බිට්මැප්.

පිටපත් කිරීමේ ක්රමය CopyRectදේපල මගින් නියම කර ඇති ආකාරයෙන් සිදු කරනු ලැබේ පිටපත් මාදිලිය. පෙරනිමියෙන් මෙම දේපලෙහි වටිනාකම ඇත cmSrcපිටපත, එය සරලව අදහස් කරන්නේ ප්‍රදේශයේ කලින් අඩංගු රූපය ප්‍රතිස්ථාපනය කිරීමයි ඩෙස්ට්, පිටපත් කළ රූපයට. හැකි වෙනත් අගයන් පිටපත් මාදිලියපින්තූර ඒකාබද්ධ කිරීමට ඔබට ඉඩ සලසයි, නමුත් ඒවා සලකා බැලීම මෙම පොතේ විෂය පථයෙන් ඔබ්බට ය.

කැන්වසය මත ග්‍රැෆික් තොරතුරු ප්‍රදර්ශනය කිරීම පිළිබඳ මෙම මූලික තොරතුරු වලට අපි සීමා වෙමු. 3.2 වගන්තියේ දළ සටහනට පෙළ ප්‍රතිදානය පිළිබඳ තොරතුරු සපයන ලදී. සාමාන්යයෙන්, කැන්වසය යනු තවත් බොහෝ ගුණාංග සහ ක්රම ඇති සංකීර්ණ වස්තුවකි. නමුත් මේ සඳහා මෙම පොතේ විෂය පථයෙන් ඔබ්බට දීර්ඝ සාකච්ඡාවක් අවශ්‍ය වේ. All About Delphi මාලාවේ ඊළඟ පොත මෙම ගැටළු වඩාත් විස්තරාත්මකව ගවේෂණය කරනු ඇත.

දේපල ඇති කවුළු සංරචකයකි කැන්වස්- කැන්වස්.

රූප සහ තීන්ත පෙට්ටියේ සංරචක

සංරචක රූපසහ තීන්ත පෙට්ටිය 4.2 වගන්තියේ විස්තර කර ඇති පරිදි පින්තූර ලිවිය හැකි කැන්වසයක් සහිත සීමිත මතුපිටක් නියෝජනය කරයි . මෙම අවස්ථාවේ දී, සංරචකය තීන්ත පෙට්ටිය, දැඩි ලෙස කථා කිරීම, කැන්වසය මත ආකෘතියක් ඇඳීමට සාපේක්ෂව අලුත් කිසිවක් ලබා නොදේ. අඳිනවා තීන්ත පෙට්ටියපෝරමයක් වෙනුවට, ජනේල ප්‍රදේශයේ චිත්‍ර එකක් හෝ කිහිපයක් සැකසීමේදී යම් සහනයක් හැර, එයට වාසි නොමැත.

නමුත් මෙම හැකියාවන්ට අමතරව, සංරචකය රූපඔබට වැඩ කිරීමට ඉඩ සලසන දේපල තිබේ විවිධ වර්ගග්‍රැෆික් ගොනු, ගොනු වර්ග තුනකට සහය දක්වයි - bit matrices, icons සහ metafiles. ගොනු වර්ග තුනම පින්තූර ගබඩා කරයි; වෙනස පවතින්නේ ඒවා ගොනු තුළ ගබඩා කර ඇති ආකාරය සහ ඒවාට ප්‍රවේශ වීමේ මාධ්‍යයන් තුළ පමණි. Bit matrix (දිගුව සහිත ගොනුව . bmp) රූපයේ එක් එක් පික්සලයේ වර්ණය පෙන්වයි. මෙම අවස්ථාවෙහිදී, තොරතුරු ගබඩා කර ඇත්තේ ඕනෑම පරිගණකයක් එහි වින්‍යාසයට අනුරූප විභේදනයක් සහ වර්ණ ගණනකින් රූපයක් පෙන්විය හැකි ආකාරයට ය.

රූප සටහන් (දිගුව සහිත ගොනු . ico) කුඩා බිටු න්‍යාස වේ. ඒවා සාමාන්‍යයෙන් යෙදුම් අයිකන, ඉක්මන් බොත්තම්, මෙනු අයිතමවල, නියෝජනය කිරීමට භාවිතා කරයි විවිධ ලැයිස්තු. අයිකනවල පින්තූර ගබඩා කිරීමේ ක්‍රමය බිට් න්‍යාසවල තොරතුරු ගබඩා කිරීමට සමාන වේ, නමුත් වෙනස්කම් ද ඇත. විශේෂයෙන්, නිරූපකය පරිමාණය කළ නොහැක; එය නිර්මාණය කරන ලද ප්රමාණයේ පවතී.

Metafiles ගබඩා කරන්නේ රූපය සෑදෙන බිටු අනුපිළිවෙල නොව, රූපය නිර්මාණය කළ ආකාරය පිළිබඳ තොරතුරු ය. ඔවුන් චිත්‍ර ඇඳීමේ විධාන අනුපිළිවෙල ගබඩා කරයි, රූපය ප්‍රතිනිර්මාණය කිරීමේදී නැවත නැවතත් කළ හැක. මෙමගින් එවැනි ගොනු සාමාන්‍යයෙන් bit matrices වලට වඩා සංයුක්ත කරයි.

සංරචකය රූපසියලුම නිශ්චිත වර්ගවල ග්‍රැෆික් ගොනු වල අඩංගු තොරතුරු ප්‍රදර්ශනය කිරීමට ඔබට ඉඩ සලසයි. මෙය සාක්ෂාත් කරගනු ලබන්නේ එහි දේපල මගිනි පින්තූරය- වස්තුව වර්ගය TP පින්තූරය.

Fig.4.3පින්තූර සංස්කාරක කවුළුව


මෙම දේපල සමඟ දැන හඳුනා ගැනීමට, නව යෙදුමක් විවෘත කර පෝරමයට සංරචකයක් ඇදගෙන යන්න රූප. එය දිගු කරන්න හෝ එහි දේපල සකසන්න පෙළගස්වන්නසමාන alClientඑමඟින් එය පෝරමයේ සම්පූර්ණ සේවාදායක ප්‍රදේශයම ගනී. දේපල අසල ඇති ellipsis සහිත බොත්තම මත ක්ලික් කරන්න පින්තූරය Object Inspector කවුළුව තුළ හෝ සරලව දෙවරක් ක්ලික් කරන්න රූප. පින්තූර සංස්කාරක කවුළුව ඔබ ඉදිරිපිට විවෘත වනු ඇත (රූපය 4.3), ඔබට දේපල තුළට පැටවීමට ඉඩ සලසයි. පින්තූරයසමහර ග්‍රැෆික් ගොනුවක් (පූරණය බොත්තම), සහ සුරකින්න ගොනුව අරින්නනව නමක් යටතේ හෝ නව නාමාවලියක. ග්‍රැෆික් ගොනුව පූරණය කිරීමට පූරණය ක්ලික් කරන්න. චිත්‍රක ගොනුවක් විවෘත කිරීම සඳහා කවුළුවක් ඔබට පෙනෙනු ඇත, රූපය 4.4 හි පෙන්වා ඇති පරිදි, ඔබ ග්‍රැෆික් ගොනු ලැයිස්තුවේ කර්සරය ගෙන යන විට, ඒවායේ අඩංගු පින්තූර දකුණු කවුළුවේ දර්ශනය වන අතර, ඒවාට ඉහළින් පින්තූරයේ ප්‍රමාණය සංලක්ෂිත අංක ඇත. . ඔබට අවශ්‍ය ඕනෑම ආකාරයක ග්‍රැෆික් ගොනුවක් තෝරාගත හැක. පින්තූර නාමාවලිය තුළ ඔබට ඩෙල්ෆි සමඟ සපයා ඇති ග්‍රැෆික් ගොනු සොයා ගත හැකි බව අපි ඔබට මතක් කරමු. Delphi 5 සහ 4 හි එය සාමාන්යයෙන් බහලුමක පිහිටා ඇත. \program files\Common Files\Borland Shared. Delphi 3 හි එය බහලුමක පිහිටා ඇත. \program files\Borland\Delphi 3, සහ Delphi 1 හි - Delphi 16 බහලුම තුළ. ගොනුව පූරණය වූ පසු, Picture Editor කවුළුවේ සහ ඔබේ සංරචකයේ OK ක්ලික් කරන්න. රූපඔබ තෝරාගත් පින්තූරය පෙන්වනු ඇත. ඔබට ඔබගේ යෙදුම දියත් කර එය අගය කළ හැකිය. කෙසේ වෙතත්, ඔබ දැනටමත් යෙදුම ධාවනය නොකර පින්තූරය දකියි.

ඔබ නිර්මාණ ක්‍රියාවලියේදී ගොනුවකින් රූපයක් සංරචකයකට පූරණය කළ විට රූප, එය එය ප්රදර්ශනය කරනවා පමණක් නොව, යෙදුම තුළ එය සුරකියි. වෙනම ග්‍රැෆික් ගොනුවක් නොමැතිව ඔබගේ යෙදුම ලබා දීමට මෙය ඔබට හැකියාව ලබා දෙයි. කෙසේ වෙතත්, අපි පසුව දකින පරිදි, තුළ රූපයෙදුම ක්‍රියාත්මක වන අතරතුර ඔබට බාහිර ග්‍රැෆික් ගොනු පූරණය කළ හැකිය.

සංරචක ගුණාංග සලකා බැලීමට අපි නැවත යමු රූප.

ඔබ දේපල සකසන්නේ නම් ස්වයංක්‍රීය ප්‍රමාණයවී සැබෑ, පසුව සංරචක ප්රමාණය රූපඑහි තබා ඇති පින්තූරයේ ප්‍රමාණයට ස්වයංක්‍රීයව ගැලපේ. දේපල නම් ස්වයංක්‍රීය ප්‍රමාණයතුළ ස්ථාපනය කර ඇත බොරු, එවිට රූපය සංරචකයට නොගැලපේ හෝ, අනෙක් අතට, සංරචකයේ ප්රදේශය රූපයේ ප්රදේශයට වඩා විශාල විය හැකිය.

තවත් දේපලක් - දිගු කරන්නසංරචකය පින්තූරයේ ප්‍රමාණයට නොව පින්තූරයේ ප්‍රමාණයට සැකසීමට ඔබට ඉඩ සලසයි. ස්ථාපනය කරන්න ස්වයංක්‍රීය ප්‍රමාණයවී බොරු, සංරචකයේ ප්රමාණය දිගු කිරීම හෝ හැකිලීම රූපසහ ස්ථාපනය කරන්න දිගු කරන්නවී සැබෑ. චිත්‍රය සංරචකයේ මුළු ප්‍රදේශයම ගන්නා බව ඔබට පෙනෙනු ඇත, නමුත් එය යථාර්ථවාදීව මානයන් තීරණය කිරීමට අපහසු බැවින් රූපපින්තූරයේ ප්රමාණයට හරියටම සමානුපාතිකව, රූපය විකෘති වනු ඇත. ස්ථාපනය කරන්න දිගු කරන්නවී සැබෑසමහර රටා සඳහා පමණක් අර්ථවත් විය හැක, නමුත් පින්තූර සඳහා නොවේ. දේපල දිගු කරන්නප්‍රතිප්‍රමාණ කළ නොහැකි අයිකන රූපවලට බලපාන්නේ නැත.

දේපල - මධ්යස්ථානය, ලෙස සකසා ඇත සැබෑ, ප්‍රදේශය මත රූපය මධ්‍යගත කරයි රූප, සංරචක ප්රමාණය පින්තූර ප්රමාණයට වඩා විශාල නම්.

අපි තවත් එක් දේපලක් සලකා බලමු - විනිවිද පෙනෙන(විනිවිදභාවය). නම් විනිවිද පෙනෙනසමාන සැබෑ, පසුව රූපය රූපවිනිවිද පෙනෙන බවට පත් වෙයි. පින්තූර එකිනෙක උඩින් තැබීමට මෙය භාවිතා කළ හැක. පෝරමයේ දෙවන සංරචකය තබන්න රූපසහ එයට තවත් රූපයක් පූරණය කරන්න. විරල ලෙස පුරවා ඇති, දළ සටහන් පින්තූරයක් ගැනීමට උත්සාහ කරන්න. උදාහරණයක් ලෙස, ඔබට සාමාන්‍යයෙන් බොත්තම් මත තබා ඇති ඒවා අතරින් පින්තූරයක් ගත හැක, උදාහරණයක් ලෙස, ඊතලයක් (ගොනුව.\වැඩසටහන් ගොනු\පොදු ගොනු\borland Shared\images\buttons\arrow1l. bmp). ඔබේ එක ගෙන යන්න රූපඔවුන් එකිනෙකා අතිච්ඡාදනය වන පරිදි, සහ ඉහළ සංරචක කට්ටලය තුළ විනිවිද පෙනෙනසමාන සැබෑ. ඉහළ රූපය තවදුරටත් පහළ එක නොපැහැදිලි බව ඔබට පෙනෙනු ඇත. මෙම දේපල භාවිතා කළ හැකි එක් දෙයක් නම්, බිට් න්‍යාසයක ආකාරයෙන් සාදන ලද පින්තූර ශිලා ලේඛන මත උඩින් තැබීමයි. මෙම ශිලා ලේඛන Delphi වෙත ගොඩනගා ඇති Image Editor වැඩසටහන භාවිතයෙන් සෑදිය හැක.

දේපල බව කරුණාවෙන් සලකන්න විනිවිද පෙනෙන bit matrices වලට පමණක් බලපානවා. මෙම අවස්ථාවේදී, බිට් න්‍යාසයේ පහළ වම් පික්සලයේ වර්ණය පෙරනිමියෙන් පාරදෘශ්‍ය වේ (එනම්, එයට පහළින් පිහිටා ඇති රූපයේ වර්ණය මගින් ප්‍රතිස්ථාපනය වේ).

නිර්මාණ ක්‍රියාවලියේදී ගොනුවකින් රූපයක් පැටවීම අපි ආවරණය කළෙමු. නමුත් දේපල පින්තූරයයෙදුම් ක්‍රියාත්මක කිරීමේදී ඕනෑම ආකාරයක ග්‍රැෆික් ගොනු සමඟ හුවමාරුව සංවිධානය කිරීම ද එය පහසු කරයි. එවැනි හුවමාරුවක තාක්ෂණය පැහැදිලි කිරීම සඳහා, අපි මුලින්ම දේපල වඩාත් විස්තරාත්මකව සලකා බැලිය යුතුය පින්තූරය.

මෙම ගුණාංගය වස්තුවක් වන අතර, ගබඩා කර ඇති ග්‍රැෆික් වස්තුව වෙත යොමු වන උප ගුණාංග ඇත. ඇතුලේ නම් පින්තූරයබිට් න්‍යාසයක් ගබඩා කර ඇති අතර එය දේපල මගින් දක්වනු ලැබේ පින්තූරය. බිට්මැප්. නිරූපකයක් ගබඩා කර ඇත්නම්, එය දේපල මගින් පෙන්වා දෙනු ලැබේ පින්තූරය. නිරූපකය. ගබඩා කර ඇති මෙටාෆයිල් දේපල මගින් දැක්වේ පින්තූරය. මෙටාෆයිල්. අවසාන වශයෙන්, ඕනෑම වර්ගයක චිත්රක වස්තුවක් දේපල මගින් පෙන්නුම් කෙරේ පින්තූරය. ග්රැෆික්.

වස්තුවකි පින්තූරයසහ එහි ගුණාංග බිට්මැප්, නිරූපකය, මෙටාෆයිල්සහ ග්රැෆික්ගොනු කියවීමේ සහ ලිවීමේ ක්‍රම තිබේ LoadFromFileසහ SaveToFile:

පටිපාටිය LoadFromFile( constගොනු නාමය: නූල්);

පටිපාටිය SaveToFile( constගොනු නාමය: නූල්);

දේපල සඳහා පින්තූරය. බිට්මැප්, පින්තූරය. නිරූපකයසහ පින්තූරය. මෙටාෆයිල්ගොනු ආකෘතිය වස්තු පන්තියට අනුරූප විය යුතුය: bit matrix, icon, metafile. දේපල තුළට ගොනුවක් කියවන විට පින්තූරය. ග්රැෆික්ගොනුව metafile ආකෘතියෙන් විය යුතුය. සහ වස්තුව සඳහාම පින්තූරයකියවීමේ සහ ලිවීමේ ක්‍රම ස්වයංක්‍රීයව ගොනු වර්ගයට ගැලපේ. මෙය උදාහරණයකින් පැහැදිලි කර ගනිමු.

4.2 කොටසේ සාකච්ඡා කර ඇති ග්‍රැෆික් ගොනු බැලීමේ උදාහරණයට සමාන යෙදුමක් ගොඩනඟමු. විවිධත්වය සඳහා, ඔබට බොත්තමක් හැර වෙනත් දෙයක් භාවිතයෙන් එය පාලනය කළ හැකිය බොත්තම, සහ මෙනුව. පෝරමයේ සංරචකයක් තබන්න රූප. එය දිගු කරන්න හෝ එහි දේපල සකසන්න පෙළගස්වන්නසමාන alClientඑමඟින් එය පෝරමයේ සම්පූර්ණ සේවාදායක ප්‍රදේශයම ගනී. ග්‍රැෆික් ගොනු විවෘත කිරීමේ සංවාද සංරචක පෝරමයට ඇද දමන්න OpenPictureDialog(8.2 කොටස බලන්න ) පෝරමයේ ප්‍රධාන මෙනු සංරචකයක් ද තබන්න ප්රධාන මෙනුව(6.1 කොටස බලන්න ) සහ එහි එක් කොටසක් සකසන්න - ගොනුව. මෙම කොටස සඳහා හසුරුවන්නෙහි, ප්රකාශය ලියන්න

(OpenPictureDialog1.Execute) ඉන්පසු. පින්තූරය. LoadFromFile(.FileName);

මෙම ක්‍රියාකරු ග්‍රැෆික් ගොනුවක් විවෘත කිරීම සඳහා සංවාදයක් අමතනු ඇත (රූපය 4.4 බලන්න) සහ එය සංරචකයට පටවනු ලැබේ. රූපය1පරිශීලකයා විසින් තෝරාගත් ගොනුවකින් රූපය (රූපය 4.5 බලන්න). එපමණක් නොව, ගොනුව ඕනෑම ආකාරයක විය හැකිය: bit matrix, icon හෝ metafile.

Fig.4.5සංරචකයේ රූපය රූප bit matrix (a) සහ pictogram (6)



මෙම යෙදුමේ ක්‍රමය LoadFromFileවෙත අයදුම් කළා රූපය1. පින්තූරය. bit matrix ගොනු පමණක් විවෘත වන්නේ නම්, ගොනු පැටවීමේ ක්‍රියාකරු ප්‍රතිස්ථාපනය කළ හැක

පින්තූරය. බිට්මැප් LoadFromFile(.FileName);

රූප සටහන් සඳහා, ක්රියාකරු භාවිතා කළ හැකිය. පින්තූරය. නිරූපකය. LoadFromFile(.FileName);

සහ metafiles සඳහා - ක්රියාකරු. පින්තූරය. මෙටාෆයිල්. LoadFromFile(.FileName);

හෝ. පින්තූරය. ග්රැෆික්. LoadFromFile(.FileName);

නමුත් මෙම සියලු අවස්ථා වලදී, ගොනු ආකෘතිය අපේක්ෂිත එකට නොගැලපේ නම්, දෝෂයක් සිදුවනු ඇත. ක්රමය සමාන ලෙස ක්රියා කරයි SaveToFileඅදාළ වූ වෙනස සමඟ පින්තූරයහෝ වෙත පින්තූරය. ග්රැෆික්එය ගොනුවක ඕනෑම ආකෘතියක රූපයක් සුරකියි. උදාහරණයක් ලෙස, ඔබ ඔබේ යෙදුම සංවාදයක් සමඟ දිගු කරන්නේ නම් SavePictureDialog(8.2 කොටස බලන්න ), මෙනුවේ Save As කොටස ඇතුල් කර එහි හසුරුවන්නෙහි ක්රියාකරු තබන්න

SavePictureDialog1. ක්රියාත්මක කරන්න ඉන්පසු. පින්තූරය. SaveToFile(SavePictureDialog1. FileName);

එවිට පරිශීලකයාට ඕනෑම ආකෘතියක රූපයක් නව නමක් සහිත ගොනුවක සුරැකීමට හැකි වනු ඇත. මෙම අවස්ථාවේදී පමණක්, අනාගතයේදී ව්යාකූලත්වය වළක්වා ගැනීම සඳහා, සුරකින ලද ගොනුවේ දිගුව තවමත් සුරකින ලද රූපයේ ආකෘතියට අනුරූප විය යුතුය.

ඔබ සුරැකීමේ ක්‍රියාකරු ප්‍රතිස්ථාපනය කළහොත් වැඩසටහන ඕනෑම ආකෘතියක රූප සඳහා සම්පූර්ණයෙන්ම සමානව ක්‍රියා කරයි

පින්තූරය. ග්රැෆික්. SaveToFile(.FileName);

දේපල භාවිතා කිරීම පින්තූරය. ග්රැෆික්. සහ සංරචකයේ ගබඩා කර ඇති දේවල ආකෘතිය ඔබ දන්නේ නම් රූපපින්තූර, එවිට ඔබට ක්රමය යෙදිය හැකිය SaveToFileදේපල වලට පින්තූරය. බිට්මැප්, පින්තූරය. නිරූපකයසහ පින්තූරය. මෙටාෆයිල්.

සලකා බලන සියලුම වස්තූන් සඳහා පින්තූරය, පින්තූරය. බිට්මැප්, පින්තූරය. නිරූපකයසහ පින්තූරය. මෙටාෆයිල්වස්තු අගයන් පැවරීමේ ක්‍රම නිර්වචනය කර ඇත:

පැවරීම (මූලාශ්රය: TPersistent);

කෙසේ වෙතත්, සඳහා BitMap, නිරූපකයසහ මෙටාෆයිල්ඔබට පැවරිය හැක්කේ සමජාතීය වස්තූන්ගේ අගයන් පමණි: පිළිවෙලින්, බිට් න්‍යාස, අයිකන, මෙටාෆයිල්. විෂමජාතීය වස්තූන් සඳහා අගයන් පැවරීමට උත්සාහ කරන විට ව්යතිරේකයක් දමනු ලැබේ EconvertError. වස්තුවකි පින්තූරය- විශ්වීය, එය අනෙකුත් පන්ති තුනෙන් ඕනෑම වස්තුවක අගයන් පැවරිය හැක. සහ අර්ථය පින්තූරයපැවරිය හැක්කේ එහි ගබඩා කර ඇති වස්තුවේ වර්ගයට ගැලපෙන වස්තුවකට පමණි.

ක්රමය පවරන්නක්ලිප්බෝඩ් බෆරය සමඟ පින්තූර හුවමාරු කිරීමට ද භාවිතා කළ හැක. උදාහරණයක් ලෙස, ක්රියාකරු

පැවරීම (රූප 1. පින්තූරය);

පසුරු පුවරුවේ ගබඩා කර ඇති රූපය පසුරු පුවරුව වෙත සුරකිනු ඇත රූපය1. සමාන ක්රියාකරු

ග්‍රැෆික් ඩෙල්ෆි රූප යෙදුම

රූපය1. පින්තූරය. පැවරීම (ක්ලිප්බෝඩ්);

තුළ කියවන්න රූපය1පසුරු පුවරුවේ රූපයක්. එපමණක් නොව, එය ඕනෑම රූපයක් සහ පෙළ පවා විය හැකිය.

ක්ලිප්බෝඩ් එක සමඟ ක්‍රියාකරුට ඇලවීම සඳහා වැඩ කරන විට ඔබ මතක තබා ගත යුතුය භාවිතා කරයිඔබේ මොඩියුලය මොඩියුලයට සම්බන්ධ කරන්න Clipbrd. Delphi මෙම සබැඳිය ස්වයංක්‍රීයව ඇතුල් නොකරයි.

සංරචක ගුණාංග වෙත ආපසු යාම රූප, අපගේ පරීක්ෂණ යෙදුමට ආවේණික වූ එක් අඩුපාඩුවක් අපට සටහන් කළ හැක, රූපය 4.5 හි පෙන්වා ඇත, විවිධ පින්තූර පූරණය කරන විට, යෙදුම් කවුළුවේ ප්‍රමාණය ඉතා කුඩා විය හැක, එවිට ඔබට රූපයේ කොටසක් පමණක් පෙනෙනු ඇත, හෝ ඉතා විශාල, සහ එවිට රූපය ආකර්ශනීය නොවන ලෙස පෝරමයේ ඉහළ වම් කෙළවරේ තබා ඇති අතර එමඟින් විශාල හිස් ඉඩක් ඉතිරි වේ. ගුණාංග භාවිතා කිරීමෙන් මෙම අඩුපාඩුව ඉවත් කළ හැකිය උස(උස) සහ පළල(පළල) සංරචකය රූප. දේපල සමඟ ස්වයංක්‍රීය ප්‍රමාණයතුළ ස්ථාපනය කර ඇත සැබෑමාන රූපඋඩුගත කළ රූපයේ ප්‍රමාණයටම ස්වයංක්‍රීයව සකසා ඇත. ඒ අනුව පෝරමය ප්‍රතිප්‍රමාණ කිරීමට මෙම මානයන් භාවිතා කළ හැක. උදාහරණයක් ලෙස, ගොනුවකින් රූපයක් පූරණය කිරීම සඳහා පෙර කේතය පහත සඳහන් දේ සමඟ ප්‍රතිස්ථාපනය කළ හැක:

OpenPictureDialog1. ක්රියාත්මක කරන්න ඉන්පසු

ආරම්භය. පින්තූරය. LoadFromFile(.FileName); ClientHeight: = Image1. උස +10;. ඉහළ: = පෝරමය1. ClientRect. ඉහල

+ (Form1. ClientHeight - Image1. උස) div 2;. ClientWidth:=රූපය1. පළල +10;. වම: = පෝරමය1. ClientRect. වම

+ (Form1. ClientWidth - Image1. පළල) div 2;

අවසානය;

මෙම කේතය මඟින් පෝරමයේ සේවාදායක ප්‍රදේශයේ ප්‍රමාණය සංරචකයේ ප්‍රමාණයට වඩා තරමක් විශාල වේ. රූපය1, එය දේපලට ස්තූතිවන්ත වන පරිදි පින්තූරයේ ප්‍රමාණයට අනුවර්තනය වේ ස්වයංක්‍රීය ප්‍රමාණය. ඔබගේ යෙදුමට මෙම වෙනස්කම් සිදු කරන්න, එය ධාවනය කරන්න, සහ උඩුගත කළ රූපයේ ප්‍රමාණයට පෝරමය ස්වයංක්‍රීයව අනුවර්තනය වන්න.

හැඩැති සංරචකය

සංරචකය හැඩයග්‍රැෆික් තොරතුරු ප්‍රදර්ශනය කිරීමේ මාධ්‍යයක් ලෙස කොන්දේසි සහිතව පමණක් වර්ග කළ හැක, මන්ද එය විවිධ ජ්‍යාමිතික හැඩතල නිරූපනය කරයි, සුදුසු පරිදි සෙවන. මෙම සංරචකයේ ප්රධාන දේපල වේ හැඩය(ආකෘතිය), පහත අගයන් ගත හැක:

මෙම ආකෘතිවල උදාහරණ රූප සටහන 4.7 හි දැක්වේ

Fig.4.7සංරචක උදාහරණ හැඩය


සංරචකයේ තවත් අත්යවශ්ය ගුණාංගයකි බුරුසුව(බුරුසුව). මෙම දේපල වර්ගයේ වස්තුවකි TBrush, උප ගුණාංග ගණනාවක් ඇති, විශේෂයෙන්: වර්ණය ( බුරුසුව. වර්ණ) සහ ශෛලිය ( බුරුසුව. ශෛලිය) හැඩය පුරවන්න. සමහර අගයන් පිරවීම ශෛලියඔබට Fig. 4.7 හි සංරචකයේ නිශ්චිත ගුණාංගවලින් තුනෙන් එකක් දැකිය හැකිය හැඩය - පෑන(පෑන) රේඛා විලාසය නිර්වචනය කරයි. මෙම දේපල දේපල වැනි ය බුරුසුව, දැනටමත් 4.2 වගන්තියේ සාකච්ඡා කර ඇත . ඔබට මෙම ගුණාංග පිළිබඳ විමර්ශන දත්ත 10* පරිච්ඡේදයෙන් සොයාගත හැක.

ප්‍රස්ථාර සංරචකය

දැන් අපි සංරචකය දෙස බලමු සටහන. මෙම සංරචකය ඔබට ඉතා ආකර්ෂණීය පෙනුමක් ඇති විවිධ ප්රස්ථාර සහ ප්රස්ථාර තැනීමට ඉඩ සලසයි (රූපය 4.8). සංරචකය සටහනබොහෝ ගුණාංග, ක්‍රම, සිදුවීම් ඇත, එබැවින් අපි ඒවා සියල්ලම සලකා බැලුවහොත්, අපට මේ සඳහා සම්පූර්ණ පරිච්ඡේදයක් කැප කිරීමට සිදුවනු ඇත. එමනිසා, අපි ප්රධාන ලක්ෂණ පමණක් සලකා බැලීමට අපව සීමා කරමු සටහන. ඔබට ඉතිරිය Delphi හි ගොඩනඟන ලද උපකාරයෙන් සොයාගත හැකිය, නැතහොත් රූප සටහන් සමඟ අත්හදා බැලීමෙන් ඒවා උත්සාහ කරන්න.

සංරචකය සටහනවස්තූන්ගේ බහාලුමකි මාලාවක්වර්ගය TChartSeries- විවිධ සංදර්ශක විලාසයන් මගින් සංලක්ෂිත දත්ත මාලාවක්. සෑම සංරචකයකටම ශ්‍රේණි කිහිපයක් ඇතුළත් විය හැකිය. ඔබට ප්‍රස්ථාරයක් පෙන්වීමට අවශ්‍ය නම්, එක් එක් ශ්‍රේණිය ප්‍රස්ථාරයේ එක් වක්‍රයකට අනුරූප වේ. ඔබට ප්‍රස්ථාර ප්‍රදර්ශනය කිරීමට අවශ්‍ය නම්, සමහර ප්‍රස්ථාර වර්ග සඳහා ඔබට එකිනෙකට ඉහලින් විවිධ ශ්‍රේණි කිහිපයක් තිබිය හැක, අනෙක් ඒවාට (පයි ප්‍රස්ථාර වැනි) එය බොහෝ විට කැත ලෙස පෙනෙනු ඇත. කෙසේ වෙතත්, මෙම අවස්ථාවේදීද ඔබට එක් සංරචකයක් සඳහා සැකසිය හැක සටහනවිවිධ ප්‍රස්ථාර වර්ග සහිත එකම දත්ත මාලාවක්. ඉන්පසුව, ඒවායින් එකක් සෑම අවස්ථාවකදීම සක්‍රිය කිරීමෙන්, පරිශීලකයාට ඔවුන් උනන්දුවක් දක්වන දත්ත පෙන්වන ප්‍රස්ථාර වර්ගය තෝරා ගැනීමට ඔබට ලබා දිය හැකිය.

එකක් හෝ දෙකක් (ඔබට රූපය 4.8 ප්රතිනිෂ්පාදනය කිරීමට අවශ්ය නම්) සංරචක තබන්න සටහනපෝරමය මත සහ Object Inspector හි විවෘත වන ගුණාංග දෙස බලන්න. ඒවායින් සමහරක් පිළිබඳ පැහැදිලි කිරීම් කිහිපයක් මෙන්න.

දකුණු මූසික බොත්තම ක්ලික් කිරීමෙන් ක්‍රියාත්මක කිරීමේදී පරිශීලකයාට ප්‍රස්ථාරයේ නිරීක්ෂණය කළ කොටස අනුචලනය කළ හැකිද යන්න තීරණය කරයි. විය හැකි අගයන්: pmNone - අනුචලනය තහනම්, pm තිරස්, pm සිරස් හෝ pm දෙකම - අනුචලනය අවසර දෙනු ලැබේ, පිළිවෙලින්, තිරස් දිශාවට පමණක්, සිරස් දිශාවට පමණක් හෝ දෙපැත්තටම.

මූසික කර්සරය සමඟ ප්‍රස්ථාරයක හෝ ප්‍රස්ථාරයක කොටස් කපා, ක්‍රියාත්මක කිරීමේදී රූප පරිමාණය වෙනස් කිරීමට පරිශීලකයාට අවසර දෙන්න (පහත රූපය. 4.8 b ප්‍රස්ථාරයේ ඛණ්ඩයක් බැලීමේ මොහොත පෙන්වයි, සම්පූර්ණයෙන්ම පය. 4.8 a හි දක්වා ඇත).

ප්‍රස්ථාරයේ මාතෘකාව නිර්වචනය කරයි.

ප්‍රස්ථාරය සඳහා ලේබලය නිර්වචනය කරයි. පෙරනිමියෙන් කිසිවක් නැත. අත්සන පෙළ තීරණය වන්නේ Text subproperty මගිනි.

රූප සටහන වටා මායිමක් නිර්වචනය කරයි.

රූප සටහනේ පුරාවෘත්තය සංකේත ලැයිස්තුවකි.

MarginLeft, MarginRight, MarginTop, MarginBottom

වම්, දකුණ, ඉහළ සහ පහළ ආන්තික අගයන්.

BottomAxis, LeftAxis, RightAxis

මෙම ගුණාංග පිළිවෙලින් පහළ, වම් සහ දකුණු අක්ෂවල ලක්ෂණ තීරණය කරයි. මෙම ගුණාංග සැකසීම ප්‍රස්ථාර සහ සමහර ප්‍රස්ථාර සඳහා අර්ථවත් කරයි.

වම් පවුර, පහළ පවුර, පසු පවුර

මෙම ගුණාංග ප්‍රස්ථාරයේ ත්‍රිමාන සංදර්ශක ප්‍රදේශයේ වම්, පහළ සහ පසුපස දාරවල ලක්ෂණ පිළිවෙළින් තීරණය කරයි (රූපය 4.8 a, පහළ ප්‍රස්ථාරය බලන්න).

සංරචකයේ සංදර්ශණය වන දත්ත ශ්‍රේණි ලැයිස්තුව.

ත්‍රිමාණ ප්‍රස්ථාර සංදර්ශකය සබල හෝ අක්‍රීය කරයි.

ත්‍රිමාන සංදර්ශකයේ ලක්ෂණ.

ත්රිමාණ පරිමාණය (රූපය 4.8 සඳහා මෙය රූප සටහනේ ඝණකම සහ ප්රස්ථාර තීරුවල පළල වේ).


Object Inspector හි ලැයිස්තුගත කර ඇති බොහෝ දේපල අසල, ප්‍රස්ථාර සංස්කාරකයේ එක් හෝ තවත් පිටුවක් ඇමතීමට ඔබට ඉඩ සලසන ඉලිප්ස සහිත බොත්තම් ඇත - ප්‍රස්ථාරවල සියලුම ගුණාංග සැකසීමට ඔබට ඉඩ සලසන බහු පිටු කවුළුවකි. සංරචකය මත දෙවරක් ක්ලික් කිරීමෙන් රූප සටහන් සංස්කාරකය ද හැඳින්විය හැක සටහනහෝ එය මත දකුණු-ක්ලික් කිරීමෙන් සහ උත්පතන මෙනුවෙන් Edit Chart විධානය තේරීමෙන්.

ඔබට රූප සටහන 4.8 හි පෙන්වා ඇති යෙදුම ප්‍රතිනිෂ්පාදනය කිරීමට උත්සාහ කිරීමට අවශ්‍ය නම්, ඉහළ සංරචකය මත දෙවරක් ක්ලික් කරන්න. සටහන. ඔබව ප්‍රස්ථාර සංස්කාරක කවුළුව වෙත ගෙන යනු ඇත (රූපය 4.9) ටැබ් කිහිපයක් ඇති ප්‍රස්ථාර පිටුවට. පළමුවෙන්ම, ඔබ එහි ඇති Series ටැබය ගැන උනන්දු වනු ඇත. Add බොත්තම මත ක්ලික් කරන්න - මාලාවක් එක් කරන්න. ඔබට ප්‍රස්ථාර හෝ ප්‍රස්ථාර වර්ගය තෝරාගත හැකි කවුළුවකට (රූපය 4.10) ගෙන යනු ඇත. මෙම අවස්ථාවේදී, Pie - a pie chart තෝරන්න. මාතෘකා ටැබය භාවිතා කරමින්, ඔබට ප්‍රස්ථාරයේ මාතෘකාව සැකසිය හැකිය, ලෙජන්ඩ් ටැබය මඟින් ප්‍රස්ථාර පුරාවෘත්තය (සංකේත ලැයිස්තුව) ප්‍රදර්ශනය කිරීම සඳහා පරාමිතීන් සැකසීමට හෝ එය තිරයෙන් සම්පූර්ණයෙන්ම ඉවත් කිරීමට ඉඩ සලසයි, පැනල ටැබය පැනලයේ පෙනුම තීරණය කරයි. ප්‍රස්ථාරය දර්ශනය වන විට, ත්‍රිමාණ පටිත්ත මඟින් ඔබේ ප්‍රස්ථාරයේ පෙනුම වෙනස් කිරීමට ඔබට අවස්ථාව ලබා දේ: ඇලවීම, මාරුව, ඝණකම යනාදිය.

ඔබ ප්‍රස්ථාර සංස්කාරකයේ වැඩ කරන විට සහ ප්‍රස්ථාර වර්ගයක් තෝරාගෙන ඇති විට, සංරචක සටහනඔබගේ පෝරමය එහි ඇතුළත් කර ඇති කොන්දේසි සහිත දත්ත සමඟ එහි පෙනුම පෙන්වයි (රූපය 4.11 බලන්න).

Fig.4.10ප්‍රස්ථාර සංස්කාරකයේ ප්‍රස්ථාර වර්ගයක් තෝරා ගැනීම


එමනිසා, ඔබගේ යෙදුමට විවිධ විකල්ප යෙදීමේ ප්රතිඵලය ඔබට වහාම දැකිය හැකිය, එය ඉතා පහසු වේ.

Series පිටුව, ටැබ් ගණනාවක් ද ඇති අතර, ඔබට ශ්‍රේණි සඳහා අමතර දර්ශන විකල්ප තෝරා ගැනීමේ හැකියාව ලබා දේ. විශේෂයෙන්, ආකෘති පටිත්තෙහි පයි ප්‍රස්ථාරයක් සඳහා රවුම් පයි විකල්පය සක්‍රීය කිරීම ප්‍රයෝජනවත් වේ, එමඟින් සංරචකයේ ඕනෑම ප්‍රමාණයකින්, සටහනප්‍රස්ථාරය රවුමක ආකාරයෙන් පෙන්වන්න. ලකුණු පටිත්තෙහි, ප්‍රස්ථාරයේ තනි කොටස් වලට අදාළ ලේබලවල ලියා ඇති දේ ස්ටයිල් සමූහයේ බොත්තම් තීරණය කරයි: අගය - අගය, ප්‍රතිශතය - ප්‍රතිශත, ලේබලය - දත්ත නම් යනාදිය. රූපය 4.8 හි උදාහරණයේ, ප්‍රතිශතය බොත්තම සක්‍රීය කර ඇති අතර, සාමාන්‍ය පටිත්තෙහි, නිඛිල අගයන් පමණක් දර්ශනය වන බව සහතික කිරීම සඳහා ප්‍රතිශත අච්චුවක් සකසා ඇත.

ඔබට අවශ්ය නම්, මෙම සංරචකයට එකතු කළ හැකිය සටහනප්‍රස්ථාර පිටුවේ Series පටිත්තෙහි ඇති Clone බොත්තම ක්ලික් කිරීමෙන් තවත් සමාන ශ්‍රේණියක්, ඉන්පසු මෙම නව මාලාව සඳහා වෙනස් කිරීමේ බොත්තම ක්ලික් කර වෙනත් ප්‍රස්ථාර වර්ගයක් තෝරා ගැනීම, උදාහරණයක් ලෙස, තීරුව. ඇත්ත වශයෙන්ම දෙකක් විවිධ වර්ගඑක් පින්තූරයක රූප සටහන් නරක ලෙස පෙනෙනු ඇත. නමුත් ඔබට ශ්‍රේණි පටිත්තෙහි මෙම නව ශ්‍රේණි සඳහා දර්ශකය අක්‍රිය කළ හැකිය, ඉන්පසු පරිශීලකයාට එක් හෝ වෙනත් ප්‍රස්ථාර සංදර්ශකයක් තෝරා ගැනීමට ඉඩ දෙන්න (මෙය සිදු කරන්නේ කෙසේදැයි අපි පහතින් පෙන්වමු).

රූප සටහන් සංස්කාරකයෙන් පිටවන්න, ඔබගේ යෙදුමේ පහළ කොටස තෝරන්න සටහනසහ රූප සටහන් සංස්කාරකය භාවිතයෙන් එය සඳහා ගුණාංග සැකසීම නැවත කරන්න. මෙම අවස්ථාවේදී, ඔබට ප්‍රස්ථාරයේ වක්‍ර දෙකක් පෙන්වීමට අවශ්‍ය නම් ශ්‍රේණි දෙකක් සඳහන් කිරීමට අවශ්‍ය වනු ඇත, සහ රේඛා ප්‍රස්ථාර වර්ගය තෝරන්න. අපි ප්‍රස්ථාර ගැන කතා කරන බැවින්, ප්‍රස්ථාරයේ අක්ෂ සහ ත්‍රිමාන දාරවල ඛණ්ඩාංක ලක්ෂණ නියම කිරීමට ඔබට අක්ෂය සහ බිත්ති ටැබ් භාවිතා කළ හැකිය.

මෙය යෙදුමේ පෙනුමේ සැලසුම සම්පූර්ණ කරයි. ඔබට ප්‍රදර්ශනය කිරීමට අවශ්‍ය දත්ත සඳහන් කරන කේතය ලිවීමට පමණක් ඉතිරිව ඇත. පරීක්ෂණ යෙදුම සඳහා, අපි පයි ප්‍රස්ථාරයේ නියත දත්ත කිහිපයක් සහ ප්‍රස්ථාරවල සයින් සහ කොසයින් ක්‍රියාකාරකම් සකසමු.

පෙන්වන අගයන් සැකසීමට, ඔබ ශ්‍රේණි ක්‍රම භාවිතා කළ යුතුය මාලාවක්. ප්‍රධාන ක්‍රම තුනක් ගැන පමණක් අවධානය යොමු කරමු.

ක්රමය පැහැදිලිවකලින් ඇතුළත් කළ දත්ත මාලාවක් හිස් කරයි.

ක්රමය එකතු කරන්න:

(Const Avalue: Double; Const Alabel: String;: TColor)

රූප සටහනට නව කරුණක් එක් කිරීමට ඔබට ඉඩ සලසයි. පරාමිතිය අගයඑකතු කළ අගය, පරාමිතියට අනුරූප වේ ඇලබෙල්- රූප සටහනේ සහ පුරාවෘත්තයේ පෙන්වන නම, වර්ණ- වර්ණ. පරාමිතිය ඇලබෙල්- විකල්ප, එය හිස්ව සැකසිය හැක: "".

ක්රමය AddXY:(Const AXValue, AYValue: Double; alabel: String; AColor: TColor)

ශ්‍රිත ප්‍රස්ථාරයට නව ලක්ෂ්‍යයක් එක් කිරීමට ඔබට ඉඩ සලසයි. විකල්ප AXValueසහ AYValueතර්කයට සහ කාර්යයට අනුරූප වේ. විකල්ප ඇලබෙල්සහ වර්ණක්රමයට සමානයි එකතු කරන්න.

මේ අනුව, අපගේ උදාහරණයේ දත්ත පැටවීමේ ක්රියා පටිපාටිය පහත පරිදි විය හැකිය:

155;=251;=203;=404;

var: වචනය;

ආරම්භයමාලාව1 කරන්න

ආරම්භය;(A1, "වැඩමුළුව 1", clYellow);(A2, "වැඩමුළුව 2", clBlue);(A3, "වැඩමුළුව 3", clRed);(A4, "වැඩමුළුව 4", clPurple);

අවසානය;. පැහැදිලිව;. පැහැදිලිව;

සදහාමම: =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විවිධ වර්ග - පයිසහ බාර්, එවිට ඔබට පරිශීලකයාගේ ඉල්ලීම අනුව රූප සටහනේ වර්ගය වෙනස් කරන ක්රියා පටිපාටියක් හඳුන්වා දිය හැකිය. මෙම ක්රියාපටිපාටිය සිදුවීමකට ඇතුල් විය හැක OnClickයම් බොත්තමක්, මෙනු විධානයක්, හෝ, උදාහරණයක් ලෙස, සංරචකයක් මත ක්ලික් කිරීමක් සරලව සැකසීම සටහන. දත්ත පැටවීමට මාලාව4සහ මෙම රූප සටහන පළමු මොහොතේ නොපෙනෙන ලෙස සකස් කරන්න, ඔබට කලින් ලබා දුන් ක්‍රියා පටිපාටිය අවසානයේ ක්‍රියාකරුවන් ඇතුළු කළ හැකිය

පැවරීම (Series1); ක්රියාකාරී: = අසත්ය;

මෙම ක්‍රියාකරුවන්ගෙන් පළමුවැන්නා තැබූ දත්ත නැවත ලියයි මාලාව1, මාලාවකින් මාලාව4. දෙවන ක්‍රියාකරු මාලාව අදෘශ්‍යමාන කරයි මාලාව4. රූප සටහන් වර්ගය වෙනස් කිරීම ක්රියා පටිපාටිය මගින් සිදු කරනු ලැබේ

ක්රියාකාරී: = නැතමාලාව1. ක්රියාකාරී;. ක්රියාකාරී: = නැතමාලාව4. ක්රියාකාරී;

රූපය 4.8 b හි පරිශීලකයා වෙනත් රූප සටහන් දර්ශනයකට මාරු වීමේ ප්‍රතිඵලය ඔබට දැක ගත හැක.

"ඩෙල්ෆි හි චිත්රක තොරතුරු ප්රදර්ශනය කිරීම"
මාතෘකා සැලැස්ම:
1. ග්‍රැෆික් ප්‍රතිදාන ක්‍රම
ඩෙල්ෆිහි තොරතුරු.
2. පින්තූර පෙන්වන්න.
3. ජ්යාමිතික සංදර්ශකය
සංඛ්යා.

1. ග්‍රැෆික් තොරතුරු ප්‍රදර්ශනය කිරීමේ ක්‍රම.
ඩෙල්ෆිහි ක්රම කිහිපයක් තිබේ
ග්‍රැෆික් තොරතුරු ප්‍රතිදානය:
පෙර සූදානම් කර ඇති ප්රතිදානය
පින්තූර (රූප සංරචක,
හැඩය);
ගොඩනැගිලි ප්රස්තාර සහ රූප සටහන්
(ප්‍රස්ථාර සංරචකය, ආදිය);
රූපගත කිරීම
ක්‍රමලේඛනාත්මකව (වස්තුව
කැන්වස්).

2. පින්තූර පෙන්වන්න.
භාවිතයෙන් පින්තූර ප්රදර්ශනය කිරීම
අපි රූපයේ සංරචකය දෙස බැලුවෙමු
පෙර මාතෘකා වලින් එකක්.
මෙන්න අපි උදාහරණයක් බලමු
සරල සජීවිකරණය ක්රියාත්මක කිරීම
කාලානුරූප වෙනස් වීම මගින්
තුළ ප්රදර්ශනය කරන ලද රූපය
රූප සංරචක.
උදාහරණයක් වෙත යන්න.


ප්‍රොටෝසෝවා ප්‍රදර්ශනය
පෝරමයේ ජ්යාමිතික හැඩතල
Shape සංරචකය සපයයි.

3. ජ්යාමිතික හැඩතල පෙන්වීම.
හැඩයේ සංරචකයේ මූලික ගුණාංග:
බුරුසුව
පෑන
හැඩය
සඳහා වර්ණය (.Color) සහ ශෛලිය (.Style).
රූපය පිරවීම.
වර්ණය (.වර්ණ), විලාසය (.ස්ටයිල්), පළල
(.පළල) සහ ප්‍රතිදාන ක්‍රමය (.ප්‍රකාරය) රේඛාවල
සංඛ්යා.
ජ්යාමිතික රූපයේ වර්ගය.

3. ජ්යාමිතික හැඩතල පෙන්වීම.
Shape සංරචක කිහිපයකින්
ඔබට සරල චිත්ර නිර්මාණය කළ හැකිය.
ක්‍රමලේඛනාත්මකව පිහිටීම වෙනස් කිරීම
(.වම්, .ඉහළ) ප්‍රමාණය (.පළල, .උස) සහ
හැඩය සංරචක වල වර්ණය (Brush.Color).
චිත්රයේ එය ක්රියාත්මක කිරීමට හැකි වේ
සරල සජීවිකරණ අංග.
උදාහරණයක් සලකා බලන්න.

4. ප්රස්තාර සහ රූප සටහන් ඉදි කිරීම.
රූප සටහන් සඳහා වේ
වඩා දෘශ්‍ය නිරූපණය
සංඛ්‍යාත්මක දත්ත අරා, ඔවුන්ගේ
දෘශ්ය සංදර්ශකය සහ විශ්ලේෂණය.
උදාහරණයක්.
Delphi හි රූප සටහන් නිර්මාණය කිරීමට
සංරචක කිහිපයක් ඇත
ඒවායින් එකක් වන්නේ ප්‍රස්ථාර සංරචකයයි (කොටස
TeeChart Std).

4. ප්රස්තාර සහ රූප සටහන් ඉදි කිරීම.
ඊට පසු ප්‍රස්ථාර සංරචකයේ දර්ශනය
පෝරමයේ සැකසුම්:

4. ප්රස්තාර සහ රූප සටහන් ඉදි කිරීම.
වස්තු පරීක්ෂකට අමතරව, ප්රවේශය
ප්‍රස්ථාර සංරචකයේ ගුණාංග විය හැකිය
විශේෂ කවුළුවක් විවෘත කිරීමෙන් ලබා ගන්න
සංවාදය (සංරචකයේ දකුණු බොත්තම \
ප්‍රස්ථාරය සංස්කරණය කරන්න...)
එකතු කරන්න
දත්ත මාලාව
වර්ගය වෙනස් කරන්න
රූප සටහන්

4. ප්රස්තාර සහ රූප සටහන් ඉදි කිරීම.
ප්‍රස්ථාර වර්ගයක් තෝරාගැනීම:

4. ප්රස්තාර සහ රූප සටහන් ඉදි කිරීම.
ඛණ්ඩාංක අක්ෂ සඳහා ගුණාංග සැකසීම
(අක්ෂය):

4. ප්රස්තාර සහ රූප සටහන් ඉදි කිරීම.
සංදර්ශක දත්ත සාමාන්යයෙන් වේ
ක්‍රමලේඛනාත්මකව ප්‍රස්ථාරයට මාරු කරන ලදී,
උදාහරණයක්:
මාලාව1.පැහැදිලි; (පැහැදිලි මාලාවක්)
සඳහා i:=1 සිට N කිරීමට
Series1.addxy(i, A[i], '', clGreen);
අගය අනුව
X අක්ෂය
අගය අනුව
Y අක්ෂය
අත්සන
X අක්ෂය
දත්ත වර්ණය
රූප සටහන මත
ඉදිකිරීම් පිළිබඳ උදාහරණයක් සලකා බලන්න
ශ්‍රිතයේ ප්‍රස්තාරය y = Sin(x)

තව දුරටත්:
රසායනාගාර කටයුතු № 13.1.
"පින්තූර සහ ජ්යාමිතික ප්රදර්ශනය කිරීම
රූප, ඒවායේ සජීවිකරණය."
ව්යායාම:
1) ක්රියාත්මක කිරීම සඳහා යෙදුමක් සංවර්ධනය කරන්න
ආවර්තිතා අනුව සරලම සජීවිකරණය
තුළ පෙන්වන රූපය වෙනස් කරයි
රූප සංරචක. (පින්තූර ගණන නොවේ
තුනකට වඩා අඩු, පින්තූර තෝරන්න
තමන්ගේම මත).

ව්යායාම:
2) සමඟ පැමිණ පින්තූරයක් අඳින්න
හැඩැති සංරචක. වැඩසටහන්මය වශයෙන්
ස්ථානය, ප්රමාණය හෝ වර්ණය වෙනස් කිරීම
චිත්‍රයක කොටස් හැඩ ගන්වන්න
සරලම අංග ක්රියාත්මක කරන්න
සජීවීකරණය.

තව දුරටත්:
රසායනාගාර කටයුතු අංක 13.2.
"ගොඩනැගිලි ප්රස්තාර සහ රූප සටහන්."
ව්යායාම:
1) යෙදුම වෙනස් කරන්න
රසායනාගාර කටයුතු අංක 9 (සංදර්ශකය
වගුවේ දත්ත). අවස්ථාවක් එකතු කරන්න
වගුවෙන් සමහර දත්ත පෙන්වයි
හිස්ටෝග්‍රෑම් හෝ පයි ප්‍රස්ථාරය මත.
2) දී ඇති ශ්‍රිතයේ ප්‍රස්ථාරයක් සාදන්න.


ඉහල