home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
BBS 1
/
BBS#1.iso
/
document
/
pas60pg.lzh
/
PG12.MY
< prev
next >
Wrap
Text File
|
1991-02-01
|
41KB
|
1,060 lines
âïÇéÇ 12.
îÄäôï£ GRAPH.
î«ñπ½∞ Graph αÑ὿ºπÑΓ »«½¡πε í¿í½¿«ΓÑ¬π ¿º í«½ÑÑ τѼ 50
úαáΣ¿τÑ߬¿σ »α«úαá¼¼, ¡áτ¿¡á∩ «Γ óδß«¬«πα«ó¡Ñóδσ, Γᬿσ ¬á¬
SetViewPort, Circle, Bar3D ¿½¿ DrawPoly ñ«
í¿Γ-«α¿Ñ¡Γ¿α«óá¡¡δσ, Γᬿσ ¬á¬ GetImage ¿ PutImage. Å«ññÑনóáεΓß∩
¡Ñ߬«½∞¬« Γ¿»«ó ½¿¡¿⌐ ¿ ßΓ¿½Ñ⌐ ºá»«½¡Ñ¡¿∩, ßπΘÑßΓóπÑΓ ¡Ñ߬«½∞¬«
Γ¿»«ó Φα¿ΣΓ«ó, ¬«Γ«αδÑ ¼«ª¡« πóѽ¿τ¿óáΓ∞, óδαáó¡¿óáΓ∞ ¿
«α¿Ñ¡Γ¿α«óáΓ∞ óÑαΓ¿¬á½∞¡« ¿½¿ ú«α¿º«¡Γá½∞¡«.
ä½∩ Γ«ú« τΓ«íδ ¬«¼»¿½¿α«óáΓ∞ »α«úαá¼¼π, ¬«Γ«αá∩ ¿ß»«½∞ºπÑΓ
¼«ñπ½∞ Graph, éá¼ ΓαÑíπÑΓß∩ éáΦ ¿ßσ«ñ¡δ⌐ ¬«ñ, ¬«¼»¿½∩Γ«α ¿ ñ«ßΓπ» ¬
ßΓá¡ñáαΓ¡δ¼ ¼«ñπ½∩¼ ó TURBO.TPL ¿ ¼«ñπ½ε Graph ó GRAPH.TPU. ä½∩
Γ«ú« τΓ«íδ óδ»«½¡¿Γ∞ »α«úαá¼¼π, ¬«Γ«αá∩ ¿ß»«½∞ºπÑΓ ¼«ñπ½∞ Graph,
éá¼ ¡Ñ«íσ«ñ¿¼ «ñ¿¡ ¿½¿ í«½ÑÑ úαáΣ¿τÑ߬¿σ ñαá⌐óÑα«ó (.BGI Σá⌐½δ, ß¼.
¡¿ªÑ). èα«¼Ñ Γ«ú«, Ñß½¿ éáΦá »α«úαá¼¼á ¿ß»«½∞ºπÑΓ ΦΓα¿σ«óδÑ Φα¿ΣΓδ,
éá¼ »«ΓαÑíπÑΓß∩ «ñ¿¡ ¿½¿ í«½ÑÑ Σá⌐½«ó Φα¿ΣΓ«ó (.CHR).
äαá⌐óÑαδ.
âαáΣ¿τÑ߬¿Ñ ñαá⌐óÑαδ »«ññÑনóáεΓ ß½ÑñπεΘ¿Ñ úαáΣ¿τÑ߬¿Ñ
áñá»ΓÑαδ (¿ »«½¡«ßΓ∞ε ß«ó¼ÑßΓ¿¼δÑ ß ¡¿¼¿):
- CGA
- MCGA
- EGA
- VGA
- Hercules
- AT&T 400 ßΓ᫬
- 3270 PC
- IBM-8514
èáªñδ⌐ ñαá⌐óÑα ß«ñÑαª¿Γ ¬«ñ ¿ ñá¡¡δÑ, σαá¡∩Θ¿Ñß∩ ó «Γñѽ∞¡«¼
Σá⌐½Ñ. é« óαѼ∩ óδ»«½¡Ñ¡¿∩, »α«µÑñπαá InitGraph «»αÑñѽ∩ÑΓ
úαáΣ¿τÑ߬«Ñ πßΓα«⌐ßΓó«, ºáúαπªáÑΓ ¿ ¿¡¿µ¿á½¿º¿απÑΓ ß««ΓóÑΓßΓóπεΘ¿⌐
úαáΣ¿τÑ߬¿⌐ ñαá⌐óÑα, »ÑαÑó«ñ¿Γ ß¿ßΓѼπ ó úαáΣ¿τÑ߬¿⌐ αѪ¿¼ ¿
ó«ºóαáΘáÑΓ π»αáó½Ñ¡¿Ñ óδºδóáεΘÑ⌐ »α«úαá¼¼Ñ. Åα«µÑñπαá CloseGraph
óδúαπªáÑΓ ñαá⌐óÑα ¿º »á¼∩Γ¿ ¿ ó«ßßΓá¡áó½¿óáÑΓ »αÑñδñπΘ¿⌐
ó¿ñÑ«αѪ¿¼. éδ ¼«ªÑΓÑ »ÑαѬ½ετ¿Γ∞ß∩ ¼Ñªñπ úαáΣ¿τÑ߬¿¼ ¿ ΓѬßΓ«óδ¼
αѪ¿¼á¼¿ ¿ß»«½∞ºπ∩ RestoreCrtMode ¿ SetGraphMode. ä½∩ Γ«ú«, τΓ«íδ
ºáúαπº¿Γ∞ éáΦ ß«íßΓóÑ¡¡δ⌐ ñαá⌐óÑα ¿½¿ ó䬽ετ¿Γ∞ Ñú« ó .EXE, ß¼.
RegisterBGIDriver ó æ»αáó«τ¡«¼ απ¬«ó«ñßΓóÑ »« í¿í½¿«ΓѬÑ.
Graph »«ññÑনóáÑΓ ¬«¡Σ¿úπαᵿε ß ñóπ¼∩ ¼«¡¿Γ«αἿ. è«úñá
Graph ¿¡¿µ¿á½¿º¿απÑΓß∩ óδº«ó«¼ InitGraph, ß««ΓóÑΓßΓóπεΘ¿⌐ ¼«¡¿Γ«α
íπñÑΓ óδíαá¡ ñ½∩ ºá»α«ΦÑ¡¡«ú« úαáΣ¿τÑ߬«ú« ñαá⌐óÑαá ¿ αѪ¿¼á. è«úñá
úαáΣ¿τÑ߬á∩ »α«úαá¼¼á ºáóÑαΦáÑΓß∩, »αÑñδñπΘ¿⌐ ó¿ñÑ«αѪ¿¼ íπñÑΓ
ó«ßßΓá¡«ó½Ñ¡. àß½¿ ó ¬«¡Σ¿úπαᵿ¿ ß ñóπ¼∩ ¼«¡¿Γ«αἿ íπñÑΓ óδºóá¡
InitGraph ß αѪ¿¼«¼ áóΓ««í¡áαπªÑ¡¿∩, Graph óδíÑαÑΓ ¼«¡¿Γ«α ¿
úαáΣ¿τÑ߬¿⌐ áñá»ΓÑα ¡á ¬«Γ«α«¼ íπñÑΓ »«ññÑনóáΓ∞ß∩ úαáΣ¿τÑ߬¿⌐
óδó«ñ ß í«½ÑÑ óδß«¬¿¼ ¬áτÑßΓó«¼.
CGA.BGI äαá⌐óÑα ñ½∩ IBM CGA, MCGA
EGAVGA.BGI äαá⌐óÑα ñ½∩ IBM EGA, VGA
HERC.BGI äαá⌐óÑα ñ½∩ ¼«¡«σα«¼¡«ú« Hercules
ATT.BGI äαá⌐óÑα ñ½∩ AT&T 6300 (400 ßΓ᫬)
PC3270.BGI äαá⌐óÑα ñ½∩ IBM 3270 PC
IBM8514.BGI äαá⌐óÑα ñ½∩ IBM 8514
Å«ññÑ᪬á IBM 8514.
Turbo Pascal »«ññÑনóáÑΓ úαáΣ¿τÑ߬¿⌐ áñá»ΓÑα IBM 8514,
¬«Γ«αδ⌐ ¿¼ÑÑΓ óδß«¬«Ñ αáºαÑΦÑ¡¿Ñ 1024σ768 ¿ »á½¿Γαπ µóÑΓ«ó 256 ¿º
ß»¿ß¬á 256K µóÑΓ«ó. ê¼∩ Σá⌐½á ñαá⌐óÑαá - IBM8514.BGI.
âαáΣ¿τÑ߬¿⌐ áñá»ΓÑα IBM 8514 ¡Ñ ¼«ªÑΓ íδΓ∞ »αáó¿½∞¡« αáß»«º¡á¡
áóΓ«¼áΓ¿τÑ߬¿ («¡ íπñÑΓ αáß»«º¡áóáΓ∞ß∩ ¬á¬ áñá»ΓÑα VGA).
æ½Ññ«óáΓѽ∞¡«, ñ½∩ ¿ß»«½∞º«óá¡¿∩ IBM 8514, »ÑαѼѡ¡«⌐ GraphDriver
ñ«½ª¡« íδΓ∞ »α¿ßó«Ñ¡« º¡áτÑ¡¿Ñ IBM8514 («¡« «»αÑñѽѡ« ó ¼«ñπ½Ñ
Graph) »α¿ ó맮óÑ InitGraph. DetectGraph ¿½¿ DETECT ß InitGraph ¡Ñ
ñ«½ª¡δ ¿ß»«½∞º«óáΓ∞ß∩ ß IBM 8514 (Ñß½¿ Γ«½∞¬« éδ ¡Ñ σ«Γ¿ΓÑ
φ¼π½¿α«óáΓ∞ αѪ¿¼ VGA).
Çñá»ΓÑα IBM 8514 »«ññÑনóáÑΓ αѪ¿¼δ IBM8514Lo (640x480) ¿
IBM8514Hi (1024x768). ÄíÑ φΓ¿ ¬«¡ßΓá¡Γδ «»αÑñѽѡδ ó ¼«ñπ½Ñ Graph.
IBM 8514 ¿ß»«½∞ºπÑΓ Γα¿ 6-Γ¿ í¿Γ«óδÑ º¡áτÑ¡¿∩ ñ½∩ «»αÑñѽѡ¿∩
µóÑΓ«ó. Ä»αÑñѽѡδ 6-í¿Γ«óδÑ Red (¬αáß¡δ⌐), Green (ºÑ½Ñ¡δ⌐) ¿ Blue
(ß¿¡¿⌐) ¬«¼»«¡Ñ¡Γδ ñ½∩ ¬áªñ«ú« «»αÑñѽѡ¡«ú« µóÑΓá. ä½∩ «»αÑñѽѡ¿∩
µóÑΓá ó í¿í½¿«ΓѬπ BGI ñ«íáó½Ñ¡á ¡«óá∩ »α«úαá¼¼á:
procedure SetRGBPalette(ColorNum, Red, Green, Blue: Word);
Çαúπ¼Ñ¡Γ ColorNum «»αÑñѽ∩ÑΓ ¡«¼Ñα µóÑΓá ó »á½¿ΓαÑ.
ColorNum ºáñáÑΓß∩ ó ñ¿á»áº«¡Ñ 0-255 (ñÑß∩Γ¿τ¡δÑ). Çαúπ¼Ñ¡Γδ
Red, Green, Blue «»αÑñѽ∩εΓ º¡áτÑ¡¿Ñ µóÑΓá ñ½∩ φ½Ñ¼Ñ¡Γá »á½¿Γαδ.
ä½∩ «»αÑñѽѡ¿∩ »á½¿Γαδ ¿ß»«½∞ºπεΓß∩ 6 ßΓáαΦ¿σ í¿Γ«ó ¼½áñΦÑú« íá⌐Γá
¬áªñ«ú« ¿º φΓ¿σ »áαá¼ÑΓα«ó.
äαπú¿Ñ »α«úαá¼¼δ ¼á¡¿»π½∩µ¿¿ ß »á½¿Γα«⌐ ¿º úαáΣ¿τÑ߬«⌐
í¿í½¿«ΓѬ¿ ¡Ñ ¼«úπΓ ¿ß»«½∞º«óáΓ∞ß∩ ß ñαá⌐óÑα«¼ IBM 8514 (Γá¬¿Ñ ¬á¬
SetAllPalette, SetPalette, GetPalette).
ä½∩ ß«ó¼ÑßΓ¿¼«ßΓ¿ ß ñαπú¿¼¿ úαáΣ¿τÑ߬¿¼¿ áñá»ΓÑαἿ IBM,
¼«ñπ½∞ Graph «»αÑñѽ∩ÑΓ »ÑαóδÑ 16 º¡áτÑ¡¿⌐ »á½¿Γαδ IBM 8514,
ß««ΓóÑΓßΓóπεΘ¿Ñ µóÑΓá¼ EGA/VGA. ¥Γ¿ º¡áτÑ¡¿∩ ¼«úπΓ íδΓ∞
¿ß»«½∞º«óá¡δ ¬á¬ «¡¿ «»αÑñÑ½Ñ¡δ ¿½¿ ¿º¼Ñ¡Ñ¡δ, ¿ß»«½∞ºπ∩ »α«úαá¼¼π
SetRGBPalette.
Åα«úαá¼¼á FloodFill ¡Ñ αáí«ΓáÑΓ ¡á áñá»ΓÑαÑ IBM 8514.
¥Γ¿ ªÑ «úαá¡¿τÑ¡¿∩ ñÑ⌐ßΓóπεΓ »α¿ ¿ß»«½∞º«óá¡¿¿ VGA ó αѪ¿¼Ñ
256 µóÑΓ«ó.
è««αñ¿¡áΓ¡á∩ ß¿ßΓѼá.
éÑασ¡¿⌐ ½Ñóδ⌐ πú«½ úαáΣ¿τÑ߬«ú« φ¬αá¡á «»αÑñѽѡ ¬á¬ (0,0).
ç¡áτÑ¡¿Ñ ò ¿½¿ ¬«½«¡¬¿ πóѽ¿τ¿óáεΓß∩ ¡á»αáó«. ç¡áτÑ¡¿Ñ Y ¿½¿ ßΓ᫬¿
πóѽ¿τ¿óáεΓß∩ 󡿺. Æᬠó αѪ¿¼Ñ 320x200 ¡á áñá»ΓÑαÑ CGA φ¬αá¡¡δÑ
¬««αñ¿¡áΓδ ¬áªñ«ú« ¿º τÑΓδαÑσ πú½«ó ¿ Γ«τ¬á ó µÑ¡ΓαÑ φ¬αá¡á íπñπΓ
»αÑñßΓáó½Ñ¡δ:
É¿ß. 12.1. ¥¬αá¡ ß ¬««αñ¿¡áΓἿ (X,Y).
(0,0) (319,0)
┌───────────────────────┐
│ │
│ (159,99) │
│ . │
│ │
│ │
│ │
└───────────────────────┘
(0,199) (319,199)
ÆѬπΘ¿⌐ π¬áºáΓѽ∞.
î¡«ú¿Ñ úαáΣ¿τÑ߬¿Ñ ß¿ßΓÑ¼δ »«ññÑনóáεΓ »«¡∩Γ¿Ñ ΓѬπΘÑú«
π¬áºáΓѽ∩ (CP - Current Pointer). CP »«ñ«íÑ¡ »«¡∩Γ¿ε ¬παß«αá ó
ΓѬßΓ«ó«¼ αѪ¿¼Ñ, ¡« ó «Γ½¿τ¿Ñ «Γ ¬παß«αá CP ¡Ñ ó¿ñÑ¡.
Write('ABC');
é ΓѬßΓ«ó«¼ αѪ¿¼Ñ «»ÑαáΓ«α Write íπñÑΓ »«¼ÑΘáΓ∞ ¬παß«α ó
¬«½«¡¬π ¡Ñ»«ßαÑñßΓóÑ¡¡« »«ß½Ñ ß¿¼ó«½á C. àß½¿ C »«¼ÑΘÑ¡ ó ¬«½«¡¬π
80, Γ« ¬παß«α »ÑαÑñó¿¡ÑΓß∩ ó »Ñαóπε ¬«½«¡¬π ß½ÑñπεΘÑ⌐ ßΓ᫬¿. àß½¿
C »«¼ÑΘÑ¡ ó ¬«½«¡¬π 80 25-«⌐ ßΓ᫬¿, Γ« óÑß∞ φ¬αá¡ ßñó¿¡ÑΓß∩ ¡á
«ñ¡π ßΓ᫬π óóÑασ ¿ ¬παß«α íπñÑΓ ó »Ñαó«⌐ ¬«½«¡¬Ñ 25 ßΓ᫬¿.
MoveTo(0, 0);
LineTo(20, 20);
é úαáΣ¿τÑ߬«¼ αѪ¿¼Ñ «»ÑαáΓ«α LineTo »«¼ÑßΓ¿Γ CP ó Γ«τ¬π
(20,20). éδóÑñÑ¡¡á∩ ½¿¡¿∩ íπñÑΓ «ΓßÑτÑ¡á ó ΓѬπΘѼ «¬¡Ñ, Ñß½¿
«ΓßÑτÑ¡¿Ñ ó¬½ετÑ¡«. çá¼ÑΓ¿¼, τΓ« CP ¡¿¬«úñá ¡Ñ «ΓßѬáÑΓß∩.
諼á¡ñá MoveTo φ¬ó¿óá½Ñ¡Γ¡á GotoXY. Ä¡á ¿ß»«½∞ºπÑΓß∩ Γ«½∞¬«
ñ½∩ »ÑαѼÑΘÑ¡¿∩ CP. æ½ÑñπεΘ¿Ñ ¬«¼á¡ñδ »ÑαѼÑΘáεΓ CP: InitGraph,
MoveTo, MoveRel, LineTo, LineRel, OutText, SetGraphMode,
GraphDefaults, ClearDevice, SetViewPort, ClearViewPort.
Åα¿¼Ñτá¡¿Ñ: »«ß½Ññ¡¿Ñ 5 ¬«¼á¡ñ »ÑαѼÑΘáεΓ CP ó (0,0).
ÆѬßΓ.
Å«í¿Γ«óδ⌐ Φα¿ΣΓ ß ¼áΓα¿µÑ⌐ 8σ8 ¿ ¡Ñ߬«½∞¬« ΦΓα¿σ«óδσ Φα¿ΣΓ«ó
«»αÑñѽѡδ ñ½∩ óδó«ñá ΓѬßΓá ó úαáΣ¿τÑ߬«¼ αѪ¿¼Ñ. 濼ó«½
»«í¿Γ«ó«ú« Φα¿ΣΓá «»αÑñѽѡ ó ¼áΓα¿µÑ 8σ8 »¿¬ßѽ«ó (Γ«τѬ).
ÿΓα¿σ«óδ⌐ Φα¿ΣΓ «»αÑñѽѡ ßÑα¿Ñ⌐ «ΓαѺ¬«ó, ¬«Γ«αδÑ ú«ó«α∩Γ
úαáΣ¿τÑ߬«⌐ ß¿ßΓÑ¼Ñ ¬á¬ α¿ß«óáΓ∞ Φα¿ΣΓ.
ôñ«íßΓó« ¿ß»«½∞º«óá¡«∩ ΦΓα¿σ«ó«ú« Φα¿ΣΓá »α«∩ó½∩ÑΓß∩, ¬«úñá éδ
¡áτ¿¡áÑΓÑ α¿ß«óáΓ∞ í«½∞Φ¿Ñ ß¿¼ó«½δ. ū߬«½∞¬π ΦΓα¿σ«óδ⌐ Φα¿ΣΓ
«»αÑñѽѡ «ΓαѺ¬á¼¿, «¡ «ßΓáÑΓß∩ σ«α«ΦÑú« αáºαÑΦÑ¡¿∩ ¿ ¬áτÑßΓóá »α¿
πóѽ¿τÑ¡¿¿.
è«úñá »«í¿Γ«óδ⌐ Φα¿ΣΓ πóѽ¿τ¿óáÑΓß∩, ¼áΓα¿µá π¼¡«ªáÑΓß∩ ¡á
¬«φΣΣ¿µ¿Ñ¡Γ ¼áßΦΓáí¿α«óá¡¿∩, ¿ ¬á¬ Γ«½∞¬« ¬«φΣΣ¿µ¿Ñ¡Γ
¼áßΦΓáí¿α«óá¡¿∩ ßΓá¡«ó¿Γß∩ í«½∞Φ¿¼, αáºαÑΦÑ¡¿∩ ß¿¼ó«½«ó ßΓá¡«ó¿Γß∩
úαπíδ¼. ä½∩ ¡Ñí«½∞Φ¿σ ß¿¼ó«½«ó »«í¿Γ«óδ⌐ Φα¿ΣΓ íπñÑΓ φΣΣÑ¬Γ¿óÑ¡, ¡«
ñ½∩ í«½∞Φ«ú« ΓѬßΓá éδ ºáσ«Γ¿ΓÑ ¿ß»«½∞º«óáΓ∞ ΦΓα¿σ«óδ⌐ Φα¿ΣΓ.
éδαáó¡¿óá¡¿Ñ úαáΣ¿τÑ߬«ú« ΓѬßΓá π»αáó½∩ÑΓß∩ »α«µÑñπα«⌐
SetTextJustify. îáßΦΓáí¿α«óá¡¿Ñ ¿ óδí«α Φα¿ΣΓá »α«¿ºó«ñ¿Γß∩
»α«µÑñπα«⌐ SetTextStyle. âαáΣ¿τÑ߬¿⌐ ΓѬßΓ óδó«ñ¿Γß∩ ó맮ó«¼
»α«µÑñπαδ OutText ¿½¿ OutTextXY. çá»α«ß ΓѬπΘ¿σ πßΓá¡«ó«¬ ΓѬßΓá
»α«¿ºó«ñ¿Γß∩ »α«µÑñπα«⌐ GetTextSettings. ÉẼÑα ΦΓα¿σ«ó«ú« Φα¿ΣΓá
¼«ªÑΓ íδΓ∞ «»αÑñѽѡ »α«µÑñπα«⌐ SetUserCharSize.
èáªñδ⌐ ΦΓα¿σ«ó«⌐ Φα¿ΣΓ σαá¡¿Γß∩ ó «Γñѽ∞¡«¼ Σá⌐½Ñ ß
αáßΦ¿αÑ¡¿Ñ¼ .CHR. öá⌐½δ Φα¿ΣΓ«ó ¼«úπΓ íδΓ∞ ºáúαπªÑ¡δ ß ñ¿ß¬á
áóΓ«¼áΓ¿τÑ߬¿ ¼«ñπ½Ñ¼ Graph ó« óαѼ∩ óδ»«½¡Ñ¡¿∩ (¬á¬ «»¿ßá¡«), ¿½¿
«¡¿ ¼«úπΓ íδΓ∞ ó¬½ετÑ¡δ ó »«½∞º«óáΓѽ∞߬πε »α«úαá¼¼π ¿½¿ ºáúαπªÑ¡δ
Ñ⌐ ¿ "ºáαÑú¿ßΓα¿α«óá¡δ" ¼«ñπ½Ñ¼ Graph.
æ»Ñµ¿á½∞¡á∩ »α«úαá¼¼á BINOBJ.EXE «íÑß»Ñτ¿óáÑΓ »αÑ«íαẫóá¡¿Ñ
Σá⌐½á Φα¿ΣΓ«ó (¿½¿ ½εí«ú« ñó«¿τ¡«ú« Σá⌐½á ñá¡¡δσ, ¬«Γ«αδ⌐
ß««ΓóÑΓßΓóπÑΓ Ñ¼π) ó Σá⌐½ .OBJ, ¬«Γ«αδ⌐ ¼«ªÑΓ íδΓ∞ ó¬½ετÑ¡ ó ¼«ñπ½∞
¿½¿ »α«úαá¼¼π, ¿ß»«½∞ºπ∩ ñ¿αÑ¬Γ¿ó𠬫¼»¿½∩Γ«αá {$L}. ¥Γ« »«ºó«½∩ÑΓ
»α«úαá¼¼Ñ ¿¼ÑΓ∞ óßÑ Σá⌐½δ Φα¿ΣΓ«ó, óßΓα«Ñ¡¡δÑ ó .EXE Σá⌐½. (ù¿Γá⌐ΓÑ
¬«¼¼Ñ¡Γáα¿⌐ ó ¡áτá½Ñ »α«úαá¼¼δ GRLINK.PAS ¡á ñ¿ßΓα¿íπΓ¿ó¡«¼ ñ¿ß¬Ñ).
ö¿úπαδ ¿ ßΓ¿½¿.
æπΘÑßΓóπÑΓ í«½∞Φ«Ñ τ¿ß½« »α«úαá¼¼ ñ½∩ α¿ß«óá¡¿∩ ¿ ºá»«½¡Ñ¡¿∩
Σ¿úπα, ó¬½ετá∩ Γ«τ¬¿, ½¿¡¿¿, «¬απª¡«ßΓ¿, ñπú¿, φ½½¿»ßδ,
»α∩¼«πú«½∞¡¿¬¿, ¼¡«ú«πú«½∞¡¿¬¿, »«½«ßδ, 3-σ ¼Ñα¡δÑ »«½«ßδ ¿
ßÑ¬Γ«αá. êß»«½∞º«óá¡¿Ñ SetLineStyle »«ºó«½∩ÑΓ π»αáó½∩Γ∞ Γ«½Θ¿¡«⌐
½¿¡¿⌐ ¿ Γ¿»«¼: ß»½«Φ¡á∩, Γ«τ¬á¼¿ ¿½¿ Γ¿», «»αÑñѽѡ¡δ⌐ éἿ.
êß»«½∞º«óá¡¿Ñ SetFillStyle ¿ SetFillPartern, FillPoly ¿
FloodPoly »«ºó«½∩ÑΓ ºá»«½¡∩Γ∞ ¼¡«ú«πú«½∞¡¿¬ ΦΓα¿σ«ó¬«⌐ ¿½¿ ñαπú¿¼
ßΓ¿½Ñ¼.
Ĭ¡á ¿ í¿Γ«óδÑ «íαáºδ.
Åα«µÑñπαá SetViewPort ºáßΓáó½∩ÑΓ óßÑ óδó«ñ¡δÑ ¬«¼á¡ñδ αáí«ΓáΓ∞
«Γ¡«ß¿Γѽ∞¡« »α∩¼«πú«½∞¡«⌐ «í½áßΓ¿ φ¬αá¡á («¬¡á ¿½¿ »«½∩ óδó«ñá).
Æ«τ¬¿, ½¿¡¿¿, Σ¿úπαδ - óÑß∞ úαáΣ¿τÑ߬¿⌐ óδó«ñ - ºáó¿ß¿Γ «Γ
«»αÑñѽѡ¿∩ «¬¡á (Ñú« ¬««αñ¿¡áΓ) ñ« ΓÑσ »«α, »«¬á «¬¡« ¡Ñ íπñÑΓ
¿º¼Ñ¡Ñ¡«. äαπú¿Ñ »α«úαá¼¼δ «íÑß»Ñτ¿óáεΓ «τ¿ßì𠫬¡á ¿ τΓÑ¡¿Ñ
ΓѬπΘÑú« «»αÑñѽѡ¿∩ «¬¡á. àß½¿ «ΓßÑτÑ¡¿Ñ á¬Γ¿ó¡«, óÑß∞ úαáΣ¿τÑ߬¿⌐
óδó«ñ «ΓßѬáÑΓß∩ »« úαá¡¿µá¼ ΓѬπΘÑú« «¬¡á. çá¼ÑΓ¿¼, τΓ« CP ¡¿¬«úñá
¡Ñ «ΓßѬáÑΓß∩.
GetPixel ¿ PutPixel «íÑß»Ñτ¿óáεΓ τΓÑ¡¿Ñ »¿¬ßѽ«ó. GetImage ¿
PutImage ¼«úπΓ íδΓ∞ ¿ß»«½∞º«óá¡δ ñ½∩ ß«σαá¡Ñ¡¿∩ ¿ óδó«ñá ¡á φ¬αá¡
»α∩¼«πú«½∞¡«⌐ «í½áßΓ¿ φ¬αá¡á. Ä¡¿ «íÑß»Ñτ¿óáεΓ »«½¡δ⌐ ¡áí«α í¿Γ«óδσ
«»Ñαᵿ¿ (¬«»¿α«óá¡¿Ñ, xor, or, and, not).
æΓαá¡¿µδ ¿ µóÑΓ.
æπΘÑßΓóπÑΓ α∩ñ ñαπú¿σ »α«úαá¼¼, ó¬½ετá∩ »«ññÑ᪬π ¡Ñ߬«½∞¬¿σ
úαáΣ¿τÑ߬¿σ ßΓαá¡¿µ (Γ«½∞¬« ñ½∩ EGA, VGA, Hercules; «ß«íÑ¡¡«
»«½Ñº¡δ ñ½∩ ¼π½∞Γ¿»½¿¬áµ¿¿), »á½¿Γαδ, µóÑΓá ¿ Γ.».
Äíαáí«Γ¬á «Φ¿í«¬.
é¡πΓαÑ¡¡¿Ñ «Φ¿í¬¿ ó ¼«ñπ½Ñ Graph ó«ºóαáΘáεΓß∩ Σπ¡¬µ¿Ñ⌐
GraphResult. GraphResult ó«ºóαáΘáÑΓ ¬«ñ «Φ¿í¬¿ »«ß½Ññ¡Ñ⌐
úαáΣ¿τÑ߬«⌐ «»Ñαᵿ¿. è«ñδ «Φ¿í«¬ «»αÑñѽѡδ ó Γáí½¿µÑ 12.2.
æ½ÑñπεΘ¿Ñ »α«úαá¼¼δ πßΓá¡áó½¿óáεΓ GraphResult:
Bar ImageSize SetFillPattern
Bar3D InitGraph SetFillStyle
ClearViewPort InstallUserDriver SetGraphBufSize
CloseGraph InstallUserFont SetGraphMode
DelectGraph PieSlice SetLineStyle
DrawPoly RegisterBGIdriver SetPalette
FillPoly RegisterBGIfont SetTextJustify
FloodFill SetAllPalette SetTextStyle
GetGraphMode
çá¼ÑΓ¿¼, τΓ« GraphResult πßΓá¡áó½¿óáÑΓß∩ ó ¡«½∞ »«ß½Ñ Ñú«
ó맮óá. æ½Ññ«óáΓѽ∞¡«, »α«úαá¼¼¿ßΓ ñ«½ªÑ¡ ºá»«¼¡¿Γ∞ º¡áτÑ¡¿Ñ
GraphResult ó« óαѼѡ¡«⌐ »ÑαѼѡ¡«⌐, á ºáΓѼ »α«óÑα∩Γ∞
Ñú«.
ìáτὫ αáí«Γδ.
Åα¿¼Ñα »α«ßΓ«⌐ »α«úαá¼¼δ:
program GraphText;
uses
Graph;
var
GraphDriver,
GraphMode,
ErrorCode : Integer;
begin
GraphDriver :=Detect;
InitGraph(GraphDriver, GraphMode,'C:\DRIVERS');
ErrorCode :=GraphResult;
if ErrorCode <> grOK then {«Φ¿í¬á }
begin
Writeln('Graphics error: ', GraphErrorMsg(ErrorCode));
Writeln('Program aborted...');
Halt(1);
end;
Rectangle(0, 0, GetMaxX, GetMaxY); {α¿ß«óáΓ∞ »α∩¼«πú«½∞¡¿¬
¡á óÑß∞ φ¬αá¡}
SetTextJustify(CenterText, CenterText); {µÑ¡Γα¿α«óáΓ∞
ΓѬßΓ}
SetTextStyle(DefaultFint, Horez Dir 3);
OutTextXY(GetMaxX div 2, GetMaxY div 2,
'Borland Graphics interface (BGI)');
Readln;
CloseGraph;
end. {GraphTest}
Åα«úαá¼¼á ¡áτ¿¡áÑΓß∩ ß ó맮óá InitGraph, ¬«Γ«αδ⌐ áóΓ«¼áΓ¿τÑ߬¿
«»αÑñѽ∩ÑΓ á»»áαáΓπαπ ¿ ºáúαπªáÑΓ ß««ΓóÑΓßΓóπεΘ¿⌐ úαáΣ¿τÑ߬¿⌐
ñαá⌐óÑα (¿º ß»αáó«τ¡¿¬á æ:\DRIVERS). àß½¿ úαáΣ¿τÑ߬«Ñ πßΓα«⌐ßΓó« ¡Ñ
αáß»«º¡á¡« ¿½¿ ó« óαѼ∩ ¿¡¿µ¿á½¿ºáµ¿¿ »α«¿º«Φ½á «Φ¿í¬á, óδñáÑΓß∩
ß««íΘÑ¡¿Ñ «í «Φ¿í¬Ñ ¿ »α«úαá¼¼á ºáóÑαΦáÑΓß∩. ê¡áτÑ, τÑαΓ¿Γß∩
»α∩¼«πú«½∞¡¿¬ »« ¬αáε φ¬αá¡á ¿ ó µÑ¡ΓαÑ φ¬αá¡á óδó«ñ¿Γß∩ ΓѬßΓ.
Åα¿¼Ñτá¡¿Ñ: Çñá»ΓÑαδ AT&T 400 ¿ IBM 8514 ¡Ñ½∞º∩ αáß»«º¡áΓ∞
áóΓ«¼áΓ¿τÑ߬¿. ä½∩ ¿ß»«½∞º«óá¡¿∩ φΓ¿σ ñαá⌐óÑα«ó éá¼ ¡πª¡« «Γ¼Ñ¡¿Γ∞
áóΓ««í¡áαπªÑ¡¿Ñ ¿ »ÑαÑñáΓ∞ ó InitGraph ¬«ñ ñαá⌐óÑαá ¿ »αáó¿½∞¡δ⌐
¬«ñ úαáΣ¿τÑ߬«ú« αѪ¿¼á. ìá»α¿¼Ñα, τΓ«íδ ¿ß»«½∞º«óáΓ∞ ñαá⌐óÑα AT&T,
ºá¼Ñ¡¿ΓÑ ßΓ᫬¿ 9 ¿ 10 ó »αÑñδñπΘѼ »α¿¼ÑαÑ ¡á:
GraphDriver := ATT400;
GraphMode := ATT400Hi;
InitGraph(GraphDriver, GraphMode, 'C:\DRIVERS');
¥Γ« π¬áºδóáÑΓ ß¿ßΓÑ¼Ñ ºáúαπº¿Γ∞ ñαá⌐óÑα AT&T 400 ¿ πßΓá¡«ó¿Γ∞
úαáΣ¿τÑ߬¿⌐ αѪ¿¼ 640x400 Γ«τѬ.
Åα¿óÑñÑ¡¡δ⌐ ¡¿ªÑ »α¿¼Ñα ñѼ«¡ßΓα¿απÑΓ ó«º¼«ª¡«ßΓ∞ »ÑαѬ½ετÑ¡¿∩
¼Ñªñπ úαáΣ¿τÑ߬¿¼ ¿ ΓѬßΓ«óδ¼ αѪ¿¼á¼¿:
program GraphText;
uses
Graph;
var
GraphDriver,
GraphMode,
ErrorCode : Integer;
begin
GraphDriver :=Detect;
InitGraph(GraphDriver, GraphMode, 'C:\DRIVERS');
ErrorCode :=GraphResult;
if ErrorCode <> grOK then {«Φ¿í¬á}
begin
Writeln(Graphics error: ', GraphErrorMsg(ErrorCode));
Writeln('Program aborted...');
Halt(1);
end;
OutText('InGraphiesMode. Press<Return>');
Readln;
RestoreCRTMode;
Writeln('Now in text mode. Press<Return>');
Readln;
SetGraphMode(GraphMode);
OutText('Back in Graphics mode. Press<Return>');
Readln;
CloseGraph;
end. {GraphTest}
çá¼ÑΓ¿¼, τΓ« ó맮ó SetGraphMode πßΓá¡áó½¿óáÑΓ óßÑ úαáΣ¿τÑ߬¿Ñ
»áαá¼ÑΓαδ (»á½¿Γαπ, ΓѬπΘ¿⌐ π¬áºáΓѽ∞, µóÑΓá ¿ Γ.».) ó º¡áτÑ¡¿Ñ »«
π¼«½τá¡¿ε.
é맮ó CloseGraph óoßßΓá¡áó½¿óáÑΓ ó¿ñÑ«αѪ¿¼, ¬«Γ«αδ⌐ íδ½
πßΓá¡«ó½Ñ¡ ñ« ó맮óá InitGraph ¿ «ßó«í«ªñáÑΓ »á¼∩Γ∞, ¿ß»«½∞ºπѼπε
úαáΣ¿τÑ߬¿¼ ñαá⌐óÑα«¼.
Å«½∞º«óáΓѽ∞߬¿Ñ »α«úαá¼¼δ π»αáó½Ñ¡¿∩ ¬πτÑ⌐.
î«ñπ½∞ Graph ¿ß»«½∞ºπÑΓ ñóÑ »α«úαá¼¼δ π»αáó½Ñ¡¿∩ ¬πτÑ⌐:
GraphGetMem ¿ GraphFreeMem. GraphGetMem αáß»αÑñѽ∩ÑΓ »á¼∩Γ∞ ñ½∩
ñαá⌐óÑα«ó úαáΣ¿τÑ߬«ú« πßΓα«⌐ßΓóá, Φα¿ΣΓ«ó ¿ ß¬á¡¿απεΘÑú« íπΣÑαá.
GraphFreeMem «ßó«í«ªñáÑΓ »á¼∩Γ∞ αáß»αÑñѽѡ¡πε ñαá⌐óÑαπ.
æΓá¡ñáαΓ¡δÑ »α«úαá¼¼δ ¿¼ÑεΓ ó¿ñ:
procedure GraphGetMem (var P: Pointer; Size: Word);
procedure GraphFreeMem (var P: Pointer; Size: Word);
î«ñπ½∞ Graph «»αÑñѽ∩ÑΓ ñóá π¬áºáΓѽ∩ ñ½∩ ßß佬¿ ¡á φΓ¿
ßΓá¡ñáαΓ¡δÑ »α«úαá¼¼δ. ¥Γ¿ π¬áºáΓѽ¿ «»αÑñѽѡδ Γá¬:
var
GraphGetMemPtr : Pointer; {π¬áºáΓѽ∞ ¡á »α«úαá¼¼π αáß»αÑñѽѡ¿∩
»á¼∩Γ¿}
GraphFreeMemPtr : Pointer; {π¬áºáΓѽ∞ ¡á »α«úαá¼¼π «ßó«í«ªñÑ¡¿∩
»á¼∩Γ¿}
Åα«úαá¼¼δ π»αáó½Ñ¡¿∩ ¬πτÑ⌐, ßß佬¿ ¡á ¬«Γ«αδÑ σαá¡∩Γß∩ ó
GraphGetMemPtr ¿ GraphFreeMemPtr, óδºδóáεΓß∩ ¼«ñπ½Ñ¼ Graph ñ½∩
αáß»αÑñѽѡ¿∩ ¿ «ßó«í«ªñÑ¡¿∩ »á¼∩Γ¿ ñ½∩:
- ¼¡«ú«µÑ½Ñó«ú« íπΣÑαá, αẼÑα ¬«Γ«α«ú« ¼«ªÑΓ íδΓ∞ πßΓá¡«ó½Ñ¡
»α«úαá¼¼«⌐ SetGraphBufSize (»« π¼«½τá¡¿ε 4 èíá⌐Γá)
- ñαá⌐óÑαá πßΓα«⌐ßΓóá, ºáúαπªáѼ«ú« InitGraph (*.BGI Σá⌐½δ)
- Σá⌐½á ΦΓα¿σ«ó«ú« Φα¿ΣΓá, ºáúαπªáѼ«ú« SetTextStyle (*.CHR
Σá⌐½δ)
âαáΣ¿τÑ߬¿⌐ íπΣÑα óßÑúñá αáß»αÑñѽ∩ÑΓß∩ ó ¬πτÑ. äαá⌐óÑα
πßΓα«⌐ßΓóá αáß»αÑñѽ∩ÑΓß∩ ó ¬πτÑ, Ñß½¿ Γ«½∞¬« éáΦá »α«úαá¼¼á ¡Ñ
ºáúαπº¿½á Ñú« ¿ ¡Ñ πßΓá¡«ó¿½á ßó∩º∞ »α¿ »«¼«Θ¿ RegisterBGIdriver; ¿
Σá⌐½ Φα¿ΣΓ«ó αáß»αÑñѽ∩ÑΓß∩ ó ¬πτÑ, ¬«úñá éδ óδí¿αáÑΓÑ ΦΓα¿σ«ó«⌐
Φα¿ΣΓ ¿ß»«½∞ºπ∩ SetTextStyle, Ñß½¿ Γ«½∞¬« éáΦá »α«úαá¼¼á Ñú« ¡Ñ
ºáúαπº¿½á ¿½¿ ¡Ñ ßó∩ºá½á, ¿ß»«½∞ºπ∩ ó맮ó RegisterBGIfont.
Åα¿ ¿¡¿µ¿á½¿ºáµ¿¿ ¼«ñπ½∩ Graph φΓ¿ π¬áºáΓѽ¿ π¬áºδóáεΓ ¡á
ßΓá¡ñáαΓ¡δÑ »α«úαá¼¼δ αáß»αÑñѽѡ¿∩ ¿ «ßó«í«ªñÑ¡¿∩ »á¼∩Γ¿, ¬«Γ«αδÑ
«»αÑñѽѡδ ó αáºñÑ½Ñ implementation ¼«ñπ½∩ Graph. éδ ¼«ªÑΓÑ
óßΓáó¿Γ∞ éáΦ¿ »α«úαá¼¼δ π»αáó½Ñ¡¿∩ »á¼∩Γ∞ε »α¿ßó«Ñ¡¿Ñ¼ φΓ¿¼
π¬áºáΓѽ∩¼ áñαÑß«ó φΓ¿σ »α«úαá¼¼. éáΦ¿ »α«úαá¼¼δ ñ«½ª¡δ ¿¼ÑΓ∞ Γᬫ⌐
ªÑ ß»¿ß«¬ »áαá¼ÑΓα«ó, τΓ« ¿ ßΓá¡ñáαΓ¡δÑ »α«úαá¼¼δ ¿ ñ«½ª¡δ íδΓ∞
«íΩ∩ó½Ñ¡δ ¬á¬ ñá½∞¡¿Ñ (far).
Åα¿óÑñÑ¡¡δ⌐ ¡¿ªÑ »α¿¼Ñα ñѼ«¡ßΓα¿απÑΓ »«½∞º«óáΓѽ∞߬¿Ñ
»α«úαá¼¼δ αáß»αÑñѽѡ¿∩ ¿ «ßó«í«ªñÑ¡¿∩ »á¼∩Γ¿. çá¼ÑΓ¿¼, τΓ«
¿ß»«½∞º«óá¡¿Ñ MgExitProc áóΓ«¼áΓ¿τÑ߬¿ óδºδóáÑΓ CloseGraph »α¿
ºáóÑαΦÑ¡¿¿ »α«úαá¼¼δ:
program UserHeapManagment;
{»«¬áºδóáÑΓ ¬á¬ »«½∞º«óáΓѽ∞ ¼«ªÑΓ ß«ßΓáó½∩Γ∞ »α«úαá¼¼δ
π»αáó½Ñ¡¿∩ »á¼∩Γ∞ε, ¿ß»«½∞ºπ∩ ¼«ñπ½∞ Graph}
uses
Graph;
var
GraphDriver, GraphMode: Integer;
ErrorCode: Integer; { êß»«½∞ºπÑΓß∩ ñ½∩ ºá»«¼¿¡á¡¿∩ ¬«ñá
ó«ºóαáΘáѼ«ú« GraphResult }
PreGraphExitProc: Pointer; { êß»«½∞ºπÑΓß∩ ñ½∩ ß«σαá¡Ñ¡¿∩
»Ñαó«¡áτá½∞¡«⌐ »α«µÑñπαδ
óδσ«ñá }
($F+) { Åα«úαá¼¼á ñ«½ª¡á íδΓ∞ ñá½∞¡Ñ⌐ ¼«ñѽ¿ }
procedure MyGetMeM(var P: Pointer; Size: Word); far;
{ Éáß»αÑñѽ∩ÑΓ »á¼∩Γ∞ ñ½∩ ñαá⌐óÑαá úαáΣ¿τÑ߬«ú«
πßΓα«⌐ßΓóá, Φα¿ΣΓá ¿ ߬᡿απεΘÑú« íπΣÑαá }
begin
GetMet(P, Size);
end; { MyGetMem }
procedure MyFreeMem(var P: Pointer; Size: Word); far;
{ Äßó«í«ªñáÑΓ »á¼∩Γ∞ úαáΣ¿τÑ߬«ú« ñαá⌐óÑαá, Φα¿ΣΓá ¿
߬᡿απεΘÑú« íπΣÑαá }
begin
if P <> nil then { ìÑ «ßó«í«ªñáÑΓ Ñß½¿ π¬áºáΓѽ∞ nil
(»πßΓ«⌐)}
begin
FreeMen(P, Size);
P := nil;
end;
end; { MyFreeMem }
procedure MyExitProc; far;
{ Å«½πτáÑΓ π»αáó½Ñ¡¿Ñ »α¿ ºáóÑαΦÑ¡¿¿ »α«úαá¼¼δ }
begin
ExitProc := PreGraphExitProc; { é«ßßΓá¡áó½¿óáÑΓ »Ñαó«-
¡áτá½∞¡πε »α«µÑñπαπ }
CloseGraph; { Äτ¿ΘáÑΓ ¬πτπ }
end; ( MyExitProc )
($F-)
begin
{ ê¡ßΓ὿απÑΓ »α«úαá¼¼π óδσ«ñá }
PreGraphExitProc := ExitProc;
ExitProc := @MyExitProc;
GraphGetMemPtr := @MyGetMem; { ô»αáó½Ñ¡¿Ñ αáß»αÑñѽѡ¿Ñ¼
»á¼∩Γ¿ }
GraphFreeMemPtr := @MyFreeMem; { ô»αáó½Ñ¡¿Ñ «ßó«í«ªñÑ¡¿Ñ¼
»á¼∩Γ¿ }
GraphDriver := Detect;
InitGraph(GraphDriver, GraphMode, '');
ErrorCode := GraphResult;
if ErrorCode <> grOk then
begin
Writeln('Graphics error: ', GraphErrorMsg(ErrorCode));
Readln;
Halt(1);
end;
Line(0, 0, GetMaxX, GetMaxY);
OutTextXY(1, 1, 'Press <Return>:');
Readln;
end. { UserHeapManagment }
è«¡ßΓá¡Γδ, Γ¿»δ ¿ »ÑαѼѡ¡δÑ ¼«ñπ½∩ Graph.
è«¡ßΓá¡Γδ.
êß»«½∞ºπ⌐ΓÑ φΓ¿ ¬«¡ßΓá¡Γδ ñαá⌐óÑα«ó ¿ αѪ¿¼«ó ß InitGraph,
DetectGraph ¿ GetModeRange:
───────────────────────────────────────────────────────────────────
è«¡ßΓá¡Γá ç¡áτÑ¡¿Ñ Ä»¿ßá¡¿Ñ
───────────────────────────────────────────────────────────────────
Detect 0 çá»αáΦ¿óáÑΓ áóΓ««í¡áαπªÑ¡¿Ñ
CGA 1
MCGA 2
EGA 3
EGA64 4
EGAMono 5
IBM8514 6
HercMono 7
ATT400 8
VGA 9
PC3270 10
CurrentDriver -128 ÅÑαÑñáÑΓß∩ ó GetModeRange
CGAC0 0 320x200 »á½¿Γαá 0: LightGreen,
LightRed, Yellow; 1 ßΓαá¡¿µá
CGAC1 1 320x200 »á½¿Γαá 1: LightCyan,
LightMagenta, White; 1 ßΓαá¡¿µá
CGAC2 2 320x200 »á½¿Γαá 2: Green,
Red, Brown; 1 ßΓαá¡¿µá
CGAC3 3 320x200 »á½¿Γαá 3: Cyan,
Magenta, LightGray; 1 ßΓαá¡¿µá
CGAHi 4 640x200 1 ßΓαá¡¿µá
MCGAC0 0 320x200 »á½¿Γαá 0: LightGreen,
LightRed, Yellow; 1 ßΓαá¡¿µá
MCGAC1 1 320x200 »á½¿Γαá 1: LightCyan,
LightMagenta, White; 1 ßΓαá¡¿µá
MCGAC2 2 320x200 »á½¿Γαá 2: Green,
Red, Brown; 1 ßΓαá¡¿µá
MCGAC3 3 320x200 »á½¿Γαá 3: Cyan,
Magenta, LightGray; 1 ßΓαá¡¿µá
MCGAMed 4 640x200 1 ßΓαá¡¿µá
MCGAHi 5 640x480 1 ßΓαá¡¿µá
EGALo 0 640x200 16 µóÑΓ«ó 4 ßΓαá¡¿µδ
EGAHi 1 640x350 16 µóÑΓ«ó 2 ßΓαá¡¿µδ
EGA64Lo 0 640x200 16 µóÑΓ«ó 1 ßΓαá¡¿µá
EGA64Hi 1 640x350 4 µóÑΓá 1 ßΓαá¡¿µá
EGAMonoHi 3 640x350 64K: 1 ßΓαá¡¿µá;
256K: 2 ßΓαá¡¿µδ
HercMonoHi 0 720x348 2 ßΓαá¡¿µδ
ATT400C0 0 320x200 »á½¿Γαá 0: LightGreen,
LightRed, Yellow; 1 ßΓαá¡¿µá
ATT400C1 1 320x200 »á½¿Γαá 1: LightCyan,
LightMagenta, White; 1 ßΓαá¡¿µá
ATT400C2 2 320x200 »á½¿Γαá 2: Green,
Red, Brown; 1 ßΓαá¡¿µá
ATT400C3 3 320x200 »á½¿Γαá 3: Cyan,
Magenta, LightGray; 1 ßΓαá¡¿µá
ATT400Med 4 640x200 1 ßΓαá¡¿µá
ATT400Hi 5 640x400 1 ßΓαá¡¿µá
VGALo 0 640x200 16 µóÑΓ«ó 4 ßΓαá¡¿µδ
VGAMed 1 640x350 16 µóÑΓ«ó 2 ßΓαá¡¿µδ
VGAHi 2 640x480 16 µóÑΓ«ó 1 ßΓαá¡¿µá
PC3270Hi 0 720x350 1 ßΓαá¡¿µá
IBM8514LO 0 640x480 256 µóÑΓ«ó
IBM8514HI 1 1024x768 256 µóÑΓ«ó
───────────────────────────────────────────────────────────────────
ç¡áτÑ¡¿∩ «Φ¿í«¬, ó«ºóαáΘáѼδÑ GraphResult:
Æáí½¿µá 12.2. ç¡áτÑ¡¿∩ «Φ¿í«¬ GraphResult.
───────────────────────────────────────────────────────────────────
è«¡ßΓá¡Γá ç¡áτÑ¡¿Ñ Ä»¿ßá¡¿Ñ
───────────────────────────────────────────────────────────────────
grOk 0 ¡ÑΓ «Φ¿í«¬
grNoInitGraph -1 úαáΣ¿¬á ¡Ñ ¿¡¿µ¿á½¿º¿α«óá¡¡á
(¿ß»«½∞ºπ⌐ΓÑ InitGraph)
grNotDetected -2 úαáΣ¿τÑ߬«Ñ πßΓα«⌐ßΓó« ¡Ñ «í¡áαπªÑ¡«
grFileNotFound -3 Σá⌐½ ñαá⌐óÑαá πßΓα«⌐ßΓóá ¡Ñ ¡á⌐ñÑ¡
grInvalidDriver -4 ¡Ñ»αáó¿½∞¡δ⌐ Σá⌐½ ñαá⌐óÑαá πßΓα«⌐ßΓóá
grNoLoadMem -5 ¡Ñ ñ«ßΓáΓ«τ¡« »á¼∩Γ¿ ñ½∩ ºáúαπº¬¿
ñαá⌐óÑαá
grNoScanMem -6 óδσ«ñ ºá »αÑñÑ½δ »á¼∩Γ¿ »α¿ ºá»«½¡Ñ¡¿¿
(scan fill)
grNoFloodMem -7 óδσ«ñ ºá »αÑñÑ½δ »á¼∩Γ¿ »α¿ ºá»«½¡Ñ¡¿¿
(flood fill)
grFontNotFound -8 Σá⌐½ Φα¿ΣΓá ¡Ñ ¡á⌐ñÑ¡
grNoFontMem -9 ¡Ñ ñ«ßΓáΓ«τ¡« »á¼∩Γ¿ ñ½∩ ºáúαπº¬¿
Φα¿ΣΓá
grInvalidMode -10 ¡ÑóÑα¡δ⌐ úαáΣ¿τÑ߬¿⌐ αѪ¿¼ ñ½∩ φΓ«ú«
ñαá⌐óÑαá
grError -11 úαáΣ¿τÑ߬á∩ «Φ¿í¬á
grIOerror -12 «Φ¿í¬á úαáΣ¿τÑ߬«ú« óó«ñá/óδó«ñá
grInvalidFont -13 ¡ÑóÑα¡δ⌐ Σá⌐½ Φα¿ΣΓá
grInvalidFontNum -14 ¡ÑóÑα¡δ⌐ ¡«¼Ñα Φα¿ΣΓá
───────────────────────────────────────────────────────────────────
SetPalette ¿ SetAllPalette.
êß»«½∞ºπ⌐ΓÑ φΓ¿ ¬«¡ßΓá¡Γδ µóÑΓ«ó ß SetPalette ¿
SetAllPalette:
───────────────────────────────
è«¡ßΓá¡Γá ç¡áτÑ¡¿Ñ
───────────────────────────────
Black 0
Blue 1
Green 2
Cyan 3
Red 4
Magenta 5
Brown 6
LightGray 7
DarkGray 8
LightBlue 9
LightGreen 10
LightCyan 11
LightRed 12
LightMagenta 13
Yellow 14
White 15
───────────────────────────────
SetRGBPalette.
¥Γ¿ ¬«¡ßΓá¡Γδ µóÑΓ«ó ¼«úπΓ íδΓ∞ ¿ß»«½∞º«óá¡δ ß SetRGBPalette
ñ½∩ óδí«αá ßΓá¡ñáαΓ¡δσ EGA µóÑΓ«ó ¡á úαáΣ¿τÑ߬«¼ áñá»ΓÑαÑ IBM 8514:
───────────────────────────────
è«¡ßΓá¡Γá ç¡áτÑ¡¿Ñ
───────────────────────────────
EGABlack 0 ΓѼ¡δÑ µóÑΓá
EGABlue 1
EGAGreen 2
EGACyan 3
EGARed 4
EGAMagenta 5
EGABrown 20
EGALightGray 7
EGADarkGray 56 ßóÑΓ½δÑ µóÑΓá
EGALightBlue 57
EGALightGreen 58
EGALightCyan 59
EGALightRed 60
EGALightMagenta 61
EGAYellow 62
EGAWhite 63
───────────────────────────────
è«¡ßΓá¡Γδ Γ¿»«ó ½¿¡¿⌐.
êß»«½∞ºπ⌐ΓÑ φΓ¿ ¬«¡ßΓá¡Γδ Γ¿»«ó ½¿¡¿⌐ ß GetLineSettings ¿
SetLineStyle:
───────────────────────────────
è«¡ßΓá¡Γá ç¡áτÑ¡¿Ñ
───────────────────────────────
SolidLn 0
DottedLn 1
CenterLn 2
DashedLn 3
UserBitLn 4 Æ¿» ½¿¡¿¿, «»αÑñѽ∩Ѽδ⌐ »«½∞º«óáΓѽѼ
NormWidth 1
ThickWidth 3
───────────────────────────────
è«¡ßΓá¡Γδ π»αáó½Ñ¡¿∩ Φα¿ΣΓ«¼.
êß»«½∞ºπ⌐ΓÑ φΓ¿ ¬«¡ßΓá¡Γδ ß GetTextSettings ¿ SetTextStyle:
───────────────────────────────
è«¡ßΓá¡Γá ç¡áτÑ¡¿Ñ
───────────────────────────────
DefaultFont 0 8x8 í¿Γ«óδ⌐ Φα¿ΣΓ
TriplexFont 1 ÿΓα¿σ«óδÑ Φα¿ΣΓδ
SmallFont 2
SansSerifFont 3
GothicFont 4
HorizDir 0 ß½Ñóá ¡á»αáó«
VertDir 1 ß¡¿ºπ óóÑασ
UserCharSize 0 αẼÑα ß¿¼ó«½á, «»αÑñѽ∩Ѽδ⌐
»«½∞º«óáΓѽѼ
───────────────────────────────
è«¡ßΓá¡Γδ óδαáó¡¿óá¡¿∩.
¥Γ¿ ¬«¡ßΓá¡Γδ π»αáó½∩εΓ ú«α¿º«¡Γá½∞¡δ¼ ¿ óÑαΓ¿¬á½∞¡δ¼
óδαáó¡¿ó᡿Ѽ ñ½∩ SetTextJustify:
───────────────────────────────
è«¡ßΓá¡Γá ç¡áτÑ¡¿Ñ
───────────────────────────────
LeftText 0
CenterText 1
RightText 2
BottomText 0
CenterText 1 (πªÑ «»αÑñѽѡá óδΦÑ)
TopText 2
───────────────────────────────
è«¡ßΓá¡Γδ «ΓßÑτÑ¡¿∩.
êß»«½∞ºπ⌐ΓÑ φΓ¿ ¬«¡ßΓá¡Γδ ß SetViewPort ñ½∩ π»αáó½Ñ¡¿∩
«ΓßÑτÑ¡¿Ñ¼. Åα¿ ClipOn úαáΣ¿τÑ߬¿⌐ óδó«ñ íπñÑΓ «ΓßѬáΓ∞ß∩ »«
úαá¡¿µÑ «¬¡á:
───────────────────────────────
è«¡ßΓá¡Γá ç¡áτÑ¡¿Ñ
───────────────────────────────
ClipOn True
ClipOff False
───────────────────────────────
è«¡ßΓá¡Γδ »«½«ßδ.
¥Γ¿ ¬«¡ßΓá¡Γδ ¿ß»«½∞ºπεΓß∩ ß Bar3D, τΓ«íδ π¬áºáΓ∞ íπñÑΓ ½¿ 3-σ
¼Ñα¡á∩ óÑαΦ¿¡á α¿ß«óáΓ∞ß∩ ¡á óÑασπ »«½«ßδ:
───────────────────────────────
è«¡ßΓá¡Γá ç¡áτÑ¡¿Ñ
───────────────────────────────
TopOn True
TopOff False
───────────────────────────────
è«¡ßΓá¡Γδ Φáí½«¡á ºá»«½¡Ñ¡¿∩.
¥Γ¿ Φáí½«¡δ ºá»«½¡Ñ¡¿∩ ¿ß»«½∞ºπεΓß∩ GetFillSettings ¿
SetFillStyle. êß»«½∞ºπ⌐ΓÑ SetFillPattern ñ½∩ «»αÑñѽѡ¿∩ éáΦÑú«
ß«íßΓóÑ¡¡«ú« ßΓ¿½∩ ºá»«½¡Ñ¡¿∩, ºáΓѼ ó맮ó¿ΓÑ
SetFillStyle(UserFill, SomeColor) ¿ ßñѽá⌐ΓÑ ßó«⌐ Φáí½«¡ á¬Γ¿ó¡δ¼:
──────────────────────────────────────────────────────────────
è«¡ßΓá¡Γá ç¡áτÑ¡¿Ñ
──────────────────────────────────────────────────────────────
EmptyFill 0 ºá»«½¡∩ÑΓ µóÑΓ«¼ Σ«¡á
SolidFill 1 ºá»«½¡∩ÑΓ «ß¡«ó¡δ¼ µóÑΓ«¼
LineFill 2 --- ºá»«½¡Ñ¡¿Ñ
LtSlashFill 3 /// ºá»«½¡Ñ¡¿Ñ
SlashFill 4 /// ºá»«½¡Ñ¡¿Ñ Γ«½ßΓ묨 ½¿¡¿∩¼¿
BkSlashFill 5 \\\ ºá»«½¡Ñ¡¿Ñ Γ«½ßΓ묨 ½¿¡¿∩¼¿
LtBkSlashFill 6 \\\ ºá»«½¡Ñ¡¿Ñ
HatchFill 7 αÑñ¬á∩ ΦΓα¿σ«ó¬á
XHatchFill 8 »½«Γ¡á∩ ΦΓα¿σ«ó¬á
InterleaveFill 9 »ÑαÑßѬáεΘ¿Ñß∩ ½¿¡¿¿
WideDotFill 10 αÑñ¬¿Ñ Γ«τ¬¿
CloseDotFill 11 »½«Γ¡δÑ Γ«τ¬¿
UserFill 12 «»αÑñѽѡ¡δ⌐ »«½∞º«óáΓѽѼ ßΓ¿½∞
──────────────────────────────────────────────────────────────
ü¿Γ«óδÑ «»ÑαáΓ«αδ.
êß»«½∞ºπ⌐ΓÑ φΓ¿ í¿Γ«óδÑ «»ÑαáΓ«αδ ß PutImage ¿ SetWriteMode:
──────────────────────────────────────
è«¡ßΓá¡Γá ç¡áτÑ¡¿Ñ
──────────────────────────────────────
CopyPut 0 { MOV }
XORPut 1 { XOR }
êß»«½∞ºπ⌐ΓÑ φΓ¿ «»Ñαᵿ¿ Γ«½∞¬« ß PutImage:
OrPut 2 { OR }
AndPut 3 { AND }
NotPut 4 { NOT }
──────────────────────────────────────
è«¡ßΓá¡Γá »á½¿Γαδ.
¥Γá ¬«¡ßΓá¡Γá ¿ß»«½∞ºπÑΓß∩ GetPalette, GetDefault,
SetAllPalette ¿ «»αÑñѽ∩ÑΓ ºá»¿ß∞ PaletteType:
───────────────────────────────
è«¡ßΓá¡Γá ç¡áτÑ¡¿Ñ
───────────────────────────────
MaxColors 15
───────────────────────────────
Æ¿»δ
¥Γá ºá»¿ß∞ ¿ß»«½∞ºπÑΓß∩ ß GetPalette, GetDefaultPalette ¿
SetAllPalette:
type
PaletteType = record
Size : Byte;
Colors : array (0.. MaxColors) of Shortint;
end;
¥Γá ºá»¿ß∞ ¿ß»«½∞ºπÑΓß∩ ß GetLineSettings:
type
LineSettingsType = record
LineStyle : Word;
Pattern : Word;
Thickness : Word;
end;
¥Γá ºá»¿ß∞ ¿ß»«½∞ºπÑΓß∩ ß GetTextSettings:
type
TextSettingsType = record
Font : Word;
Direction : Word;
CharSize : Word;
Horiz : Word;
Vert : Word;
end;
¥Γá ºá»¿ß∞ ¿ß»«½∞ºπÑΓß∩ ß GetFillSettings:
type
FillSettingsType = record
Pattern : Word;
Color : Word;
end;
¥Γá ºá»¿ß∞ ¿ß»«½∞ºπÑΓß∩ ß GetFillPattern ¿ SetFillPattern:
type
FillPatternType = array [1..8] of Byte; { «»αÑñѽ∩Ѽδ⌐
»«½∞º«óáΓѽѼ ßΓ¿½∞ }
¥Γ«Γ Γ¿» «»αÑñѽѡ ñ½∩ éáΦÑú« πñ«íßΓóá. çá¼ÑΓ¿¼, τΓ« «íá »«½∩
Γ¿»á Integer:
type
PointType = record
X,Y: Integer;
end;
¥Γá ºá»¿ß∞ ¿ß»«½∞ºπÑΓß∩ ß GetViewSettings ñ½∩ »«½πτÑ¡¿∩ ñá¡¡δσ
« ΓѬπΘѼ «¬¡Ñ:
type
ViemPortType = integer;
X1, Y1, X2, Y2: Integer;
Clip : Boolean;
end;
¥Γá ºá»¿ß∞ ¿ß»«½∞ºπÑΓß∩ ß GetArcCoords ¿ ¼«ªÑΓ íδΓ∞
¿ß»«½∞º«óá¡á ñ½∩ »«½πτÑ¡¿∩ ¿¡Σ«α¼áµ¿¿ « »«ß½Ññ¡Ñ¼ ó맮óÑ Arc ¿½¿
Ellipse:
type
ArcCoordsType = record
X, Y : Integer;
Xstart, Ystart: Integer;
Xend, Yend : Integer;
end;
ÅÑαѼѡ¡δÑ.
¥Γ¿ »ÑαѼѡ¡δÑ π¬áºδóáεΓ ¡á »α«úαá¼¼δ π»αáó½Ñ¡¿∩ ¬πτÑ⌐ ¼«ñπ½∩
Graph. àß½¿ éáΦá »α«úαá¼¼á ¿ß»«½∞ºπÑΓ ß«íßΓóÑ¡¡δÑ »α«úαá¼¼δ
π»αáó½Ñ¡¿∩ »á¼∩Γ∞ε, »α¿ßó«⌐ΓÑ áñαÑßá éáΦ¿σ »α«úαá¼¼ αáß»αÑñѽѡ¿∩ ¿
«ßó«í«ªñÑ¡¿∩ »á¼∩Γ¿ »ÑαѼѡ¡δ¼ GraphGetMemPrt ¿ GraphFreeMemPrt:
──────────────────────────────────────────────────────────────
ÅÑαѼѡ¡á∩ ç¡áτÑ¡¿Ñ
──────────────────────────────────────────────────────────────
GraphGetMemPrt Pointer (αáß»αÑñѽѡ¿Ñ ¬πτ¿)
GraphFreeMemPrt Pointer («ßó«í«ªñÑ¡¿Ñ ¬πτ¿)
──────────────────────────────────────────────────────────────
Åα«µÑñπαδ.
Æáí½¿µá 12.3. Åα«µÑñπαδ ¼«ñπ½∩ Graph.
───────────────────────────────────────────────────────────────────
Arc É¿ßπÑΓ ñπúπ «Γ ¡áτá½∞¡«ú« πú½á ¬ ¬«¡Ñτ¡«¼π,
¿ß»«½∞ºπ∩ (X,Y) ¬á¬ µÑ¡Γα
Bar É¿ßπÑΓ »«½«ßπ, ¿ß»«½∞ºπ∩ ΓѬπΘ¿⌐ ßΓ¿½∞ ¿ µóÑΓ.
Bar3D É¿ßπÑΓ 3-σ ¼Ñα¡πε »«½«ßπ, ¿ß»«½∞ºπ∩ ΓѬπΘ¿⌐
ßΓ¿½∞ ¿ µóÑΓ.
Circle É¿ßπÑΓ «¬απª¡«ßΓ∞, ¿ß»«½∞ºπ∩ (X,Y) ¬á¬ µÑ¡Γα.
ClearDevice Äτ¿ΘáÑΓ φ¬αá¡ ¿ πßΓá¡áó½¿óáÑΓ ΓѬπΘ¿⌐ π¬áºáΓѽ∞
(CP) ó ¡áτὫ.
ClearViewPort Äτ¿ΘáÑΓ «¬¡«.
CloseGraph çá¬αδóáÑΓ úαáΣ¿τÑ߬πε ß¿ßΓѼπ.
DetectGraph Åα«óÑα∩ÑΓ á»»áαáΓπαπ ¿ «»αÑñѽ∩ÑΓ ¬á¬«⌐
úαáΣ¿τÑ߬¿⌐ ñαá⌐óÑα ¿ ó ¬á¬«¼ αѪ¿¼Ñ
¿ß»«½∞ºπÑΓß∩.
DrawPoly É¿ßπÑΓ ¼¡«ú«πú«½∞¡¿¬ ΓѬπΘ¿¼ µóÑΓ«¼ ¿ Γ¿»«¼
½¿¡¿¿.
Ellipse É¿ßπÑΓ φ½½¿»Γ¿τÑ߬πε ñπúπ «Γ ¡áτá½∞¡«ú« πú½á
¬ ¬«¡Ñτ¡«¼π, ¿ß»«½∞ºπ∩ (X,Y) ¬á¬ µÑ¡Γα.
FillEllipse É¿ßπÑΓ ºá»«½¡Ñ¡¡δ⌐ φ½½¿»ß, ¿ß»«½∞ºπ∩ (X,Y) ¬á¬
µÑ¡Γα ¿ XRadius ¿ YRadius ¬á¬ ú«α¿º«¡Γá½∞¡δÑ
¿ óÑαΓ¿¬á½∞¡δÑ «ß¿.
FillPoly çừ½¡∩ÑΓ ¼¡«ú«πú«½∞¡¿¬, ¿ß»«½∞ºπ∩
߬᡿α«óá¡¿Ñ.
FloodFill çừ½¡∩ÑΓ «úαá¡¿τÑ¡¡πε «í½áßΓ∞, ¿ß»«½∞ºπ∩
ΓѬπΘ¿⌐ Φáí½«¡ ¿ µóÑΓ ºá»«½¡Ñ¡¿∩.
GetArcCoords Å«ºó«½∩ÑΓ ºá»α«ß¿Γ∞ ¬««αñ¿¡áΓδ ¬«¼á¡ñδ Arc.
GetAspectRatio 髺óαáΘáÑΓ αáºαÑΦÑ¡¿Ñ φ¬αá¡á ¿º ¬«Γ«α«ú« ¼«ªÑΓ
íδΓ∞ óδτ¿ß½Ñ¡ «Γ¡«ß¿Γѽ∞¡δ⌐ á߻ѬΓ
(Xasp/Yasp).
GetFillPattern 髺óαáΘáÑΓ Φáí½«¡ ºá»«½¡Ñ¡¿∩, πßΓá¡«ó½Ñ¡¡δ⌐
»«ß½Ññ¡¿¼ óδº«ó«¼ SetFillPattern.
GetFillSettings Å«ºó«½∩ÑΓ ºá»α«ß¿Γ∞ ΓѬπΘ¿⌐ Φáí½«¡ ¿ µóÑΓ,
πßΓá¡«ó½Ñ¡¡δÑ SetFillStyle ¿½¿ SetFillPattern.
GetImage æ«σαá¡∩ÑΓ í¿Γ«óδ⌐ «íαẠπ¬áºá¡¡«⌐ τáßΓ¿ φ¬αá¡á
ó íπΣÑαÑ.
GetLineSettings 髺óαáΘáÑΓ ΓѬπΘ¿Ñ ßΓ¿½∞, Φáí½«¡ ¿ Γ«½Θ¿¡π
½¿¡¿¿, πßΓá¡«ó½Ñ¡¡δÑ SetLineStyle.
GetModeRange 髺óαáΘáÑΓ ¼¿¡¿¼á½∞¡δ⌐ ¿ ¼á¬ß¿¼á½∞¡δ⌐
úαáΣ¿τÑ߬¿Ñ αѪ¿¼δ ñ½∩ ñá¡¡«ú« ñαá⌐óÑαá.
GetPalette 髺óαáΘáÑΓ ΓѬπΘπε »á½¿Γαπ ¿ ÑÑ αẼÑα.
GetTextSettings 髺óαáΘáÑΓ ΓѬπΘ¿⌐ Φα¿ΣΓ, ¡á»αáó½Ñ¡¿Ñ, αẼÑα
¿ óδαáó¡¿óá¡¿Ñ ΓѬßΓá, πßΓá¡«ó½Ñ¡¡δÑ
SetTextStyle ¿ SetTextJustify.
GetViewSettings Å«ºó«½∩ÑΓ ºá»α«ß¿Γ∞ ΓѬπΘ¿Ñ »áαá¼ÑΓαδ «¬¡á ¿
«ΓßÑτÑ¡¿∩.
GraphDefaults ôßΓá¡áó½¿óáÑΓ ΓѬπΘ¿⌐ π¬áºáΓѽ∞ (CP) ó ¡áτὫ
¿ »ÑαÑπßΓá¡áó½¿óáÑΓ úαáΣ¿τÑ߬πε ß¿ßΓѼπ.
InitGraph ê¡¿µ¿á½¿º¿απÑΓ úαáΣ¿τÑ߬πε ß¿ßΓѼπ ¿
πßΓá¡áó½¿óáÑΓ πßΓα«⌐ßΓó« ó úαáΣ¿τÑ߬¿⌐ αѪ¿¼.
Line É¿ßπÑΓ ½¿¡¿ε «Γ (X1,Y1) ¬ (X2,Y2).
LineRel É¿ßπÑΓ ½¿¡¿ε «Γ ΓѬπΘÑú« π¬áºáΓѽ∩ (CP) ¬
Γ«τ¬Ñ, ½ÑªáΘÑ⌐ ¡á ºáñá¡¡«¼ αáßΓ«∩¡¿¿.
LineTo É¿ßπÑΓ ½¿¡¿ε «Γ ΓѬπΘÑú« π¬áºáΓѽ∩ ¬ (X,Y).
MoveRel ÅÑαÑñó¿úáÑΓ ΓѬπΘ¿⌐ π¬áºáΓѽ∞ (CP) ¡á ºáñá¡¡«Ñ
αáßßΓ«∩¡¿Ñ «Γ Ñú« ΓѬπΘÑ⌐ »«º¿µ¿¿.
MoveTo ÅÑαÑñó¿úáÑΓ ΓѬπΘ¿⌐ π¬áºáΓѽ∞ (CP) ó (X,Y).
OutText éδó«ñ¿Γ ΓѬßΓ ¡á φ¬αá¡ «Γ ΓѬπΘÑú« π¬áºáΓѽ∩.
OutTextXY éδó«ñ¿Γ ΓѬßΓ ¡á φ¬αá¡.
PieSlice É¿ßπÑΓ ¿ ºá»«½¡∩ÑΓ ßÑ¬Γ«α, ¿ß»«½∞ºπ∩ (X,Y) ¬á¬
µÑ¡Γα ¿ α¿ßπ∩ «Γ ¡áτá½∞¡«ú« πú½á ¬ ¬«¡Ñτ¡«¼π.
PutImage éδó«ñ¿Γ í¿Γ«óδ⌐ «íαẠ¡á φ¬αá¡.
PutPixel É¿ßπÑΓ Γ«τ¬π (»¿¬ßѽ) ó (X,Y).
Rectangle É¿ßπÑΓ »α∩¼«πú«½∞¡¿¬, ¿ß»«½∞ºπ∩ ΓѬπΘ¿⌐ µóÑΓ ¿
Γ¿» ½¿¡¿¿.
RestoreCRTMode é«ßßΓá¡áó½¿óáÑΓ ó¿ñÑ«αѪ¿¼, ¬«Γ«αδ⌐ íδ½ ñ«
¿¡¿µ¿á½¿ºáµ¿¿ úαáΣ¿¬¿.
Sector É¿ßπÑΓ ¿ ºá»«½¡∩ÑΓ ßÑ¬Γ«α φ½½¿»ßá.
SetActivePage ôßΓá¡áó½¿óáÑΓ á¬Γ¿ó¡πε ßΓαá¡¿µπ ñ½∩
úαáΣ¿τÑ߬«ú« óδó«ñá.
SetAllPalette 꺼ѡ∩ÑΓ µóÑΓ »á½¿Γαδ.
SetAspectRatio 꺼ѡ∩ÑΓ º¡áτÑ¡¿Ñ «Γ¡«ß¿Γѽ∞¡«ú« á߻ѬΓá.
SetBkColor ôßΓá¡áó½¿óáÑΓ µóÑΓ Σ«¡á.
SetColor ôßΓá¡áó½¿óáÑΓ «ß¡«ó¡«⌐ µóÑΓ, ¬«Γ«αδ¼ íπñÑΓ
«ßπΘÑßΓó½∩Γ∞ß∩ α¿ß«óá¡¿Ñ.
SetFillPattern éδí¿αáÑΓ Φáí½«¡ ºá»«½¡Ñ¡¿∩, «»αÑñѽѡ¡δ⌐
»«½∞º«óáΓѽѼ.
SetFillStyle ôßΓá¡áó½¿óáÑΓ Φáí½«¡ ºá»«½¡Ñ¡¿∩ ¿ µóÑΓ.
SetGraphBufSize Å«ºó«½∩ÑΓ ¿º¼Ñ¡¿Γ∞ αẼÑα íπΣÑαá ñ½∩ Σπ¡¬µ¿⌐
ºá»«½¡Ñ¡¿∩.
SetGraphMode ÅÑαÑó«ñ¿Γ ß¿ßΓѼπ ó úαáΣ¿τÑ߬¿⌐ αѪ¿¼ ¿
«τ¿ΘáÑΓ φ¬αá¡.
SetLineStyle ôßΓá¡áó½¿óáÑΓ ΓѬπΘ¿Ñ Γ«½Θ¿¡π ¿ ßΓ¿½∞ ½¿¡¿¿.
SetPalette 꺼ѡ∩ÑΓ «ñ¿¡ µóÑΓ »á½¿Γαδ, π¬áºá¡¡δ⌐ τÑαѺ
ColorNum ¿ Color.
SetRGBPallete Å«ºó«½∩ÑΓ ¼«ñ¿Σ¿µ¿º«óáΓ∞ »á½¿Γαπ ñ½∩ IBM 8514
¿ VGA.
SetTextJustify ôßΓá¡áó½¿óáÑΓ óδαáó¡¿óá¡¿Ñ ΓѬßΓá,
¿ß»«½∞ºπѼ«Ñ OutText ¿ OutTextXY.
SetTextStyle ôßΓá¡áó½¿óáÑΓ ΓѬπΘ¿⌐ Φα¿ΣΓ, ßΓ¿½∞ ¿ αẼÑα
ΓѬßΓá.
SetUserCharSize Å«ºó«½∩ÑΓ ¿º¼Ñ¡¿Γ∞ Φ¿α¿¡π ¿ óδß«Γπ ß¿¼ó«½á
ñ½∩ ΦΓα¿σ«ó«ú« Φα¿ΣΓá.
SetViewPort ôßΓá¡áó½¿óáÑΓ ΓѬπΘÑÑ «¬¡« ñ½∩ úαáΣ¿τÑ߬«ú«
óδó«ñá.
SetVisualPage ôßΓá¡áó½¿óáÑΓ ¡«¼Ñα ó¿ñ¿¼«⌐ úαáΣ¿τÑ߬«⌐
ßΓαá¡¿µδ.
SetWriteMode ôßΓá¡áó½¿óáÑΓ αѪ¿¼ óδó«ñá (¬«»¿α«óá¡¿Ñ ¿½¿
XOR) ñ½∩ ½¿¡¿⌐, α¿ßπѼδσ ß DrawPoly, Line,
LineRel, LineTo, Rectangle.
───────────────────────────────────────────────────────────────────
öπ¡¬µ¿¿
Æáí½¿µá 12.4. öπ¡¬µ¿¿ ¼«ñπ½∩ Graph.
───────────────────────────────────────────────────────────────────
GetBkColor 髺óαáΘáÑΓ ΓѬπΘ¿⌐ Σ«¡«óδ⌐ µóÑΓ.
GetColor 髺óαáΘáÑΓ ΓѬπΘ¿⌐ µóÑΓ.
GetDefaultPalette 髺óαáΘáÑΓ á»»áαáΓ¡πε »á½¿Γαπ ó ºá»¿ß¿
PaletteType.
GetDriverName éoºóαáΘáÑΓ ßΓ᫬π ß ¿¼Ñ¡Ñ¼ ΓѬπΘÑú« ñαá⌐óÑαá.
GetGraphMode 髺óαáΘáÑΓ ΓѬπΘ¿⌐ úαáΣ¿τÑ߬¿⌐ αѪ¿¼.
SetMaxColor 髺óαáΘáÑΓ ¼á¬ß¿¼á½∞¡δ⌐ µóÑΓ, ¬«Γ«αδ⌐ ¼«ª¡«
ºáñáΓ∞ ó SetColor.
GetMaxMode 髺óαáΘáÑΓ ¡«¼Ñα ¼á¬ß¿¼á½∞¡«ú« αѪ¿¼á ΓѬπΘÑú«
ºáúαπªÑ¡¡«ú« ñαá⌐óÑαá.
GetMaxX 髺óαáΦáÑΓ ¼á¬ß¿¼á½∞¡δ⌐ ò (αáºαÑΦÑ¡¿Ñ »«
ú«α¿º«¡Γ὿) ñ½∩ ΓѬπΘÑú« úαáΣ¿τÑ߬«ú«
ñαá⌐óÑαá ¿ αѪ¿¼á.
GetMaxY 髺óαáΘáÑΓ ¼á¬ß¿¼á½∞¡δ⌐ Y (αáºαÑΦÑ¡¿Ñ »«
óÑαΓ¿¬á½¿) ñ½∩ ΓѬπΘÑú« úαáΣ¿τÑ߬«ú«
ñαá⌐óÑαá ¿ αѪ¿¼á.
GetModeName 髺óαáΘáÑΓ ßΓ᫬π ß ¿¼Ñ¡Ñ¼ π¬áºá¡¡«ú«
úαáΣ¿τÑ߬«ú« αѪ¿¼áε.
GetPaletteSize 髺óαáΘáÑΓ αẼÑα Γáí½¿µδ »á½¿Γαδ.
GetPixel 髺óαáΘáÑΓ µóÑΓ Γ«τ¬¿ ó (X,Y).
GetX 髺óαáΘáÑΓ ¬««αñ¿¡áΓπ X ΓѬπΘÑ⌐ »«º¿µ¿¿ (CP).
GetY 髺óαáΘáÑΓ ¬««αñ¿¡áΓπ Y ΓѬπΘÑ⌐ »«º¿µ¿¿ (æÉ).
GraphErrorMsg 髺óαáΘáÑΓ ßΓ᫬π ß««íΘÑ¡¿∩ «í «Φ¿í¬Ñ ñ½∩
ºáñá¡¡«ú« ¬«ñá ErrorCode.
GraphResult 髺óαáΘáÑΓ ¬«ñ «Φ¿í¬¿ ñ½∩ »«ß½Ññ¡Ñ⌐
úαáΣ¿τÑ߬«⌐ «»Ñαᵿ¿.
ImageSize 髺óαáΘáÑΓ τ¿ß½« íá⌐Γ, ΓαÑíπѼ«Ñ ñ½∩
ºá»«½¡Ñ¡¿∩ »α∩¼«πú«½∞¡«⌐ «í½áßΓ¿ φ¬αá¡á.
InstallUserDriver ôßΓá¡áó½¿óáÑΓ »«½∞º«óáΓѽ∞߬¿⌐ ñαá⌐óÑα
πßΓα«⌐ßΓóá ó BGI Γáí½¿µπ ñαá⌐óÑα«ó πßΓα«⌐ßΓó.
InstallUserFont ôßΓá¡áó½¿óáÑΓ ¡«óδ⌐ Φα¿ΣΓ, ¬«Γ«αδ⌐ ¡Ñ óßΓα«Ñ¡
ó BGI ß¿ßΓѼπ.
RegisterBGIdriver ÉÑú¿ßΓα¿απÑΓ ñαá⌐óÑα BGI ñ½∩ úαáΣ¿τÑ߬«⌐
ß¿ßΓѼδ.
RegisterBGIfont ÉÑú¿ßΓα¿απÑΓ Φα¿ΣΓ BGI ñ½∩ úαáΣ¿τÑ߬«⌐
ß¿ßΓѼδ.
TextHeight 髺óαáΘáÑΓ óδß«Γπ ßΓ᫬¿ ó »¿¬ßѽáσ.
TextWidth 髺óαáΘáÑΓ Φ¿α¿¡π ßΓ᫬¿ ó »¿¬ßѽáσ.
───────────────────────────────────────────────────────────────────
ä½∩ ñÑΓá½∞¡«ú« «»¿ßá¡¿∩ φΓ¿σ »α«µÑñπα ¿ Σπ¡¬µ¿⌐ ß¼. æ»αáó«τ¡«Ñ
απ¬«ó«ñßΓó« »« í¿í½¿«ΓѬÑ.