ããã¹ãã®ã¹ã±ãŒãªã³ã°ã¯ãäžèŠãããšæããã»ã©ç°¡åãªäœæ¥ã§ã¯ãããŸããã ãã©ã³ããµã€ãºãåçŽã«å€æŽãããšãããã¹ãã®å¹
ãã¹ã ãŒãºãã€æ¯äŸçã«å€æŽããããšã¯ã§ããŸããã å€æŽã¯ã段éçã«ãè¡ããããããã¹ã±ãŒãªã³ã°ã䜿çšãããããããå Žæã§ãããããçš®é¡ã®ãšãã£ã¿ãŒãã°ã©ãããã£ãŒãã®éçºã倧å¹
ã«åŠšããããŸãã
äŸãšããŠã ã·ãŒã«ã®ç·šéè
ã«ãã£ãŠéçºãããŸããã ãµããžã§ã¯ãé åã®è©³çŽ°ã®ãããäœæ¥ã¯ã埮èŠçããã©ã³ãã§å®è¡ãããŸãããã®ãµã€ãºã¯åæ°ã§éåžžã«å°ãããªããŸãã ã¹ã±ãŒã«ãªãã§ã¯ã§ããŸããã ãã ããæ倧ã¹ã±ãŒã«ã§ãã¹ãŠã®ããã¹ããé©åã«èšå®ãããŠããŠãäœçœ®åãããå®äºãããã¹ãŠãçŸããå Žåããéåžžã®ãã¹ã±ãŒã«ã«æ»ããšããã¹ãŠã®æžåŒèšå®ããé£ã¶ãããšãã§ããŸãã
倧èŠæš¡ãªå Žåãå³åŽã®ããŽã¯èŠæ ããããŸãã ãºãŒã ã¢ãŠãã®ããã»ã¹ã§ã¯ãç¶æ³ãå®æçã«çºçããŸããããã¯å·Šã®å³ã«ç€ºãããŠããŸã-ç¢æãã¹ãããŒã«ãã§ãã
ç¢æã¯2ã€ã®éšåã§æ§æãããŠããŸãã å·ŠåŽã«ããããã«ãåäžã®å
šäœã®ããã«èŠããããŒãžãããããã¹ãããããŸãã ããããç¢æéããºãŒã ã¢ãŠããããšãã®ã£ãããé¡èã«çŸããŸãã
ãã®ãããªãããžã§ã¯ãã®ã¹ã±ãŒã«æ©èœã¯éåžžã«éèŠã§ãã ãŸãã圌ãã倧èŠæš¡ã«è¡ã£ãããšã¯ãã©ã®ãããªèŠæš¡ã§ãèŠãããã¯ãã§ãã 蚱容ã§ããªããå°ããªãã·ããããšã©ãŒã¯ãããŸããã
ãã¹ãã¢ããªã±ãŒã·ã§ã³
ã¹ã±ãŒã«ã®æ¹æ³ããã¹ãããããã«ãå°ããªã¢ããªã±ãŒã·ã§ã³ãäœæããŸãã ãœãŒã¹ã³ãŒãã¯ã¢ãŒã«ã€ãã«èšèŒãããŠããŸãã
- äžéšã«ã¯ã³ã³ãããŒã«ã®ããããã«ããããŸãã ããããããŠã³ãªã¹ãã«ã¹ã±ãŒã«ã®ããã¹ã©ã€ããŒãšã¹ã±ãŒãªã³ã°æ¹æ³ã®éžæãå«ãã;
- ãã¹ãŠã®ã¹ã±ãŒã«é¢æ°ã¯æ¬¡ã®ã¿ã€ãã§ãã
TxDrawZoomFunc = function (ACanvas : TCanvas;
- é¢æ°ã¯ãæååãªã¹ãã®ååã§ç»é²ãããŸãã ããããããŠã³ãªã¹ãã«è¡šç€ºãããã®ã¯åœŒã§ããGDrawZoomFuncListïŒTstrings = nil;
- ããã¹ãããã«ãããŠãããã©ãããããã³ã©ããŸã§ãã«ãããŠãããã確èªããããã«ãã¹ã±ãŒã«äŸåã®ã°ãªãããæç»ããŸãã
- ããã¹ããšãšãã«ããèšç®ããããé·æ¹åœ¢ãæç»ãããŸããããã¯ãéåžžã®ãã©ã³ããµã€ãºã®ããã¹ãã®é åãšããŠèšç®ãããã¹ã±ãŒã«ãä¹ç®ãããŸãã
- ãã¹ãŠã®ã¹ã±ãŒã«ã¡ãœããã¯ãã°ããŒãã«å€æ°GDiffWidthïŒextendedãèšç®ããŸãã ããã¯ãèšç®ãããå¹
ãšçµæã®å¹
ã®æ¯çã§ãã ãã¹ãçµæã®åæã«å¿
èŠã§ãã
ããã€ãã®è£å©æ©èœã䜿çšãããŸãã æ¹æ³1ãé¡ã«ã åæ°ãã©ã³ããµã€ãº
åé¡ããçæ£é¢ããã解決ããå Žåãããã¯éãè²ããŸãïŒã¹ã±ãŒã«ã«å¿ããŠãã©ã³ãã®é«ããå€æŽããŸãã ããã«ã¯ãFont.Heightãªã©ã®ãã©ã¡ãŒã¿ãŒãé©ããŠããŸãã ããã¯ãã¯ã»ã«åäœã®ãã©ã³ãã®é«ãã§ãããç©äºã®è«çã«ãããšãããã¯ã¹ã ãŒãºãªãºãŒã ã«ã€ãªããã¯ãã§ãã
Font.Height=âtruncïŒAZoomâASizeâFont.PixelsPerInch/72ïŒ;ã©ãã§ïŒ
- ASize-å°æ°ã«ã§ãããã©ã³ããµã€ãº
- AZoom-ã¹ã±ãŒã«ã
åŒã¯ã©ãããæ¥ãã®ã§ããã Windowsã®ãã©ã³ãã®é«ãã¯ãã€ã³ãã§è¡šãããŸãããããã¯ã¿ã€ãã°ã©ãã£ã«ç±æ¥ããŸãã
1ã€ã³ã= 25.4 mm = 72ãã€ã³ã
ãããã£ãŠãæåã®ãºãŒã æ©èœã¯æ¬¡ã®ãšããã§ãã
çµæã¯å³ã«è¡šç€ºãããŸãã
å·ŠåŽã®ãã¥ãŒã¹ããšããžã®ããç°è²ã®ç·äžã«æ確ã«é
眮ãããŠããå Žåãå³åŽã®å³ã®ã¹ã±ãŒã«ããããã«å€åãããšãç°è²ã®ç·ã¯äžå€®ã®ãã¥ãŒã¹ãšäº€å·®ããŸãã
çµæã¯äžååã§ãã
æ¹æ³2ãäžç座æšãSetGraphicsMode
ãããxã§æŒã蟌ããªãããšã¯æããã§ãã WindowsãæäŸããããŒã«ã䜿çšããå¿
èŠããããŸãã
function SetGraphicsMode(hdc: HDC; iMode: Integer): Integer;
- DCããã€ã¹ã³ã³ããã¹ããã³ãã«ã
- iModeã°ã©ãã£ãã¯ã¢ãŒããæå®ããŸãã ãã®ãã©ã¡ãŒã¿ãŒã¯ã次ã®å€ã®ããããã§ãã
GM_COMPATIBLEïŒ16ãããWindowsãšäºææ§ã®ããã°ã©ãã£ãã¯ã¢ãŒããèšå®ããŸãã ãããããã©ã«ãã®ã¢ãŒãã§ãã
GM_ADVANCEDïŒã¯ãŒã«ãã¹ããŒã¹ã®å€æãå¯èœã«ããæ¡åŒµã°ã©ãã£ãã¯ã¢ãŒããã€ã³ã¹ããŒã«ããŸãã ç¹ã«ãã¹ã±ãŒã«å€æã¯ãã®ã¢ãŒãã§äœ¿çšã§ããŸãã ããã§äœ¿çšããŠããŸãã
æäœã¢ã«ãŽãªãºã ã¯æ¬¡ã®ãšããã§ãã
- DCãGM_ADVANCEDã«èšå®ããŸãã
- TXFormæ§é äœïŒå®éã¯è¡åã§ãïŒã®ãã£ãŒã«ããåæåããŸãã å€æã¯ã次ã®åŒã«åŸã£ãŠå®è¡ãããŸãã
x â² = x â e M 11 + y â e M 21 + e D x
y â² = x â e M 12 + y â e M 22 + e D y
ã芧ã®ãšãããã¹ã±ãŒã«ãå®è£
ããããã«ãeM11ããã³eM22ãã£ãŒã«ãã«é¢å¿ããããŸãã - å€æãããªãã¯ã¹ã®å²ãåœãŠïŒSetWorldTransformïŒDCãxFrmïŒ;
- ã¹ã±ãŒã«ã«é¢ä¿ãªãããéåžžã®ããµã€ãºã§ãéåžžã®ã座æšã«ããã¹ããæç»ããŸãã
- å€æãå
ã®ç¶æ
ã«æ»ããŸãã
- åã®ã¢ãŒãã«æ»ããŸãã
2çªç®ã®ãºãŒã æ©èœã¯æ¬¡ã®ãšããã§ãã
çµæã¯æ¬¡ã®ãšããã§ãã
ç¶æ³ã¯åã®ç¶æ³ãšäŒŒãŠããŸãã å·ŠåŽã§ã¯ããã¥ãŒã¹ã¯ã»ã«ã®ç°è²ã®å¢çç·ã®éã«å¿«é©ã«é
眮ãããå³åŽã§ã¯ã»ã«ã©ã€ã³ã亀差ããŸãã ã€ãŸã 圌ãã¯å€§èŠæš¡ã«ãåŒã£åŒµããããšãåãé€ããŸããã§ããã
ãã ããè¯å®çãªåŽé¢ããããŸããã¹ã±ãŒã«ãæ°ã«ããã«æç»ã§ããŸãã ã€ãŸããã¹ã±ãŒã«ã«é¢ä¿ãªããéåžžã«äžåè¡¡ã«ã¯ãŒã«ãªäœããæç»ããéåžžã«å€§ããªé¢æ°ããããŸãã åŒã³åºãåã«å€æè¡åãå²ãåœãŠãããšãã§ããããã«ãã£ãŠã¹ã±ãŒãªã³ã°ããèœåãåŸãããŸãã ãã®å ŽåãeDxããã³eDyãã©ã¡ãŒã¿ãŒã䜿çšããŠãå€äœãååŸããŸãã
ç·ã®å€ªãã瞮尺ã«ãã£ãŠå€ããããšã«æ³šæããŠãã ããã è¿œå ã®å©ç¹ãšå€æã¯ãããã¯å€ã§ãã
ãã®éãæãŸããçµæã¯éæãããŠããŸããã
ã¹ã±ãŒã«æ¹æ³3 SetMapMode / MM_ISOTROPIC
SetGraphicsModeïŒGM_ADVANCEDïŒã¡ãœãã2ã䜿çšããŠWindowsã䜿çšããŠåº§æšãå€æããŠããããã§çµäºããŸããã 以äžã®é¢æ°ã®æãèæ
®ããŠãã ããã
function SetMapMode(DC: HDC; p2: Integer): Integer; function SetWindowExtEx(DC: HDC; XExt, YExt: Integer; Size: PSize): BOOL; function SetViewportExtEx(DC: HDC; XExt, YExt: Integer; Size: PSize): BOOL;
SetMapModeé¢æ°ã¯ãéžæãããããã€ã¹ã³ã³ããã¹ãããã¯ã»ã«ãå¥ã®ãã®ãšèŠãªããã匷å¶ããŸãã ãã¯ã»ã«ãå®éã«0.001ã€ã³ãã§ãããšä»®å®ããŸãã 次ã®å€ãåãããšãã§ãããã©ã¡ãŒã¿ãŒp2ã«äŸåããŸãã
- MM_ISOTROPIC-äž¡æ¹ã®è»žã§åãã¹ã±ãŒã«ã®ä»»æã®ã¹ã±ãŒãªã³ã°ã ã¹ã±ãŒã«ä¿æ°ã¯ã以äžã§èª¬æããSetWindowExtãšSetViewportExtã®ãã¢ã«ãã£ãŠèšå®ãããŸãã
- MM_ANISOTROPIC-å軞ã«æ²¿ã£ãä»»æã®ã¹ã±ãŒãªã³ã°ã ã¹ã±ãŒã«ä¿æ°ã¯ã以äžã§èª¬æããSetWindowExtãšSetViewportExtã®ãã¢ã«ãã£ãŠèšå®ãããŸãã
- MM_HIENGLISH-0.001ã€ã³ãã Xã¯å·Šããå³ãYã¯äžããäžã
- MM_LOENGLISH-0.01ã€ã³ãã Xã¯å·Šããå³ãYã¯äžããäžã
- MM_HIMETRIC-0.01ããªã¡ãŒãã«ã Xã¯å·Šããå³ãYã¯äžããäžã
- MM_LOMETRIC-0.1ããªã¡ãŒãã«ã Xã¯å·Šããå³ãYã¯äžããäžã
- MM_TEXT-ãã¯ã»ã«ããšã Xã¯å·Šããå³ãYã¯äžããäžã
- MM_TWIPS-1/20ãã€ã³ãã ïŒãã€ã³ã= 1ã€ã³ã/ 72ããããã£ãŠtwip = 1ã€ã³ã/ 1440ïŒã Xã¯å·Šããå³ãYã¯äžããäžã
ãå·Šããå³ã«Xãäžããäžã«Yããšããèªå¥ã®æå³ã¯äœã§ããã ããã¯ãXã®åº§æšã¯éåžžã«æ®éã§ãããY座æšã¯è² ã§ããããšãæå³ããŸãã ã€ãŸããé·æ¹åœ¢ïŒ10,10,1000,1000ïŒã«æ¥åãæãããå Žåãè¿œå ã®å€æãªãã§ãããèŠãã«ã¯ãæ¥åïŒ10ã-10,1000ã-1000ïŒãæžãå¿
èŠããããŸãã
ããããã¹ã±ãŒã«ã«èå³ããããŸãã ããã«ãæãäžè¬çã§ããã¹ãŠã®è»žã§åãã§ãã ãããã£ãŠãp2 = MM_ISOTROPICã䜿çšããŸãã
ã¢ãŒããèšå®ããåŸãã¹ã±ãŒã«ä¿æ°ãèšå®ããå¿
èŠããããŸãã ããã¯ãSetWindowExtEx / SetViewportExtExé¢æ°ã®ãã¢ã«ãã£ãŠè¡ãããŸã
- åºåè«çãŠã£ã³ããŠã®èšå®
SetWindowExtExïŒDCãè«çå¹
ãè«çé«ããnilïŒ; - å®éã®åºåãŠã£ã³ããŠãèšå®ãã
SetViewportExtExïŒDCãå®å¹
ãå®é«ãnilïŒ;
ããã§ãç»é¢ã®å®éã®å¹
ïŒé«ãïŒã圢ç¶ããã€ã³ãããã¯ã¹ãä»»æã®é·æ¹åœ¢ãªã©ã®ã¹ã±ãŒã«ãã§ããŸããã ç¹å®ã®è«ççãªå¹
ïŒé«ãïŒã«å¯Ÿå¿ããŸããããšãã°ãããªã³ã¿ãŒã®çšçŽããŸãã¯çž®å°ºã§è¡šç€ºããå¿
èŠã®ãã倧ããªç»åã®å¹
ãªã©ã§ãã
ã¹ã±ãŒã«ãã¡ã¯ã¿ãŒã¯ãF =ïŒå®æ°å€ïŒ/ïŒè«çå€ïŒã§ãã
ãªããªã ã¹ã±ãŒã«ã¯äž¡æ¹ã®è»žã§åãã§ããå¿
èŠããããWindowsã¯æå°ã®æ¯çãéžæããŸãã
è«çéãšã¯äœã§ããã ç¹å®ã®ç»åãåæ ãããå Žåã¯ããã®å¹
ãšé«ãã«ãªããŸããå®éã®ãµã€ãºã¯ãåæ ããããã¯ã»ã«åäœã®é åã§ãã
å€æé¢æ°ã¯æ¬¡ã®ãšããã§ãã
x '= x * F
y '= y * F
ãããã£ãŠãå¹
ã®å®éã®å€ïŒãºãŒã *å¹
ãšé«ãïŒãºãŒã *é«ãã
3çªç®ã®ãºãŒã æ©èœã¯æ¬¡ã®ããã«ãªããŸãã
ãã ããçµæã¯ãŸã æºè¶³ã®ãããã®ã§ã¯ãããŸããã
ãã®ç¶æ³ã¯ãåã®2ã€ã®ç¶æ³ãšãŸã£ããåãã§ãã
ãã®æ¹æ³ã®å©ç¹ã¯æ¹æ³2ãšäŒŒãŠããŸãããæç»ãé¢æ°ãäœæããéã«ã¹ã±ãŒã«ã«ã€ããŠå¿é
ããå¿
èŠã¯ãããŸããããã¹ã±ãŒã«ã移åããæ¹æ³ã¯ãããŸããã éåã®å€å®¹ã¯çŽç²ã«æäœæ¥ã§ãã
äžè¬ã«ããã®é¢æ°ã¯å€æã«ãã£ãŠã·ã£ãŒãåãããŸããã ãã®äœãã®åäœã§äœãã衚瀺ããã®ã«é©ããŠããŸãã ããã¯ããŠãããã®1ã€ã®èšèªããç»é¢è¡šçŸã®èšèªãžã®äžçš®ã®ã翻蚳è
ãã§ãã
æ¹æ³4 "ã€ã³ã" SetMapMode / MM_HIENGLISH
ããããå¥ã®ãªãã·ã§ã³ãè©ŠããŠãã ããã æ¹æ³3ã§ã¯ãSetMapModeé¢æ°ã«ã€ããŠè©³ãã説æããŸãã ã¡ãŒãã«æ³ããã¹ã¯ãªãŒã³ãžã®å€æã®ãã©ã°ãå«ããããšãèšåãããŸããã ã€ã³ã座æšç³»ã§äœæ¥ããŠã¿ãŸãããã ããªåäœã§ã¯ãªãçç±-è¿œå ã®å€æãé¿ããããã çµå±ã®ãšããããŸã æåã¯ãŸã ããã€ãã®ã€ã³ãã€ã³ãžã±ãŒã¿ãŒããããŸãã ãªã25.4ã§è¿œå ããã®ãïŒæ¹æ³1ãåç
§ïŒã
äœãä¿ããã ããã§ãã0.001ã€ã³ãã®å€ã¯éåžžã«å°ããªé¢æ£ã§ãã ããããïŒ
4çªç®ã®ã¹ã±ãŒãªã³ã°é¢æ°ã¯æ¬¡ã®ãšããã§ãã
æ®å¿µãªãããçµæã¯ä»¥åã®ãã®ããè¯ããããŸããïŒ
æ¹æ³5ãæåããšã®ã¬ã³ããªã³ã°ã
以åã®ãã¹ãŠã®ã¡ãœããã§ã¯ãTLogFontã®æŽæ°éšåã®ããã«æããããŸãã lfHeightã¯å¯¿åœãèããæãªããç¹å®ã®ã¹ã±ãŒã«ãžã®ã埮調æŽããèš±å¯ããŸããã ãããš...ãããåæ°ã ã£ãå Žå...ãŸããããŠãåé¡ãå¥ã®æ¹æ³ã§è§£æ±ºããŠã¿ãŸãããã
äž»ãªã¢ã€ãã¢ã¯æ¬¡ã®ãšããã§ããããã¹ãã®ãã¹ãŠã®æåãééãããã«ã¯ãæåã衚瀺ãããX軞ã«æ²¿ã£ãŠå
é ãã«ãŠã³ãããŸãã å€æä¿æ°ã¯ãèšç®ãããå¹
ãšå®æ°ã®æ¯çãšããŠæåã«èšç®ãããŸãã
é©ãã¹ãããšã«ãããã¯åäœããŸãïŒ
ãã¥ãŒã¹ã¯ã©ã€ã³ã«ãã£ãããšãã£ã€ããŠãããã©ããªã¹ã±ãŒã«ã§ããããæ®ããŸããã
æåã®æåããã¹ã±ãŒãªã³ã°æ¹æ³ã ç®æšã¯éæãããŸããããããè¯ã解決çã欲ããã§ãã
æ¹æ³6ããããããããããã¡ãŒã
以åã®æ¹æ³ã¯ãåæåã®ã¬ã³ããªã³ã°ã®éå§ãã·ããããããšã«ãããäºåã«èšç®ãããå¿
èŠãªãµã€ãºã«æåããšã«ãé©åããããšãããã®ã§ããã ããããããããããã«åºã¥ããŠãã¹ãŠåãããšãè¡ãããå Žåã¯ã©ããªããŸããïŒ
ããã¯ãããã¹ããæåã«äžéããããããäžã«æå®ã®çž®å°ºã§æããããšãããã®ã§ãã ããããæŠéããããªãã¯ã¹ãšåŒã³ãŸãã 次ã«ãèšç®ãããå€ã«å¿ããŠããµã€ãºãèšå®ãããå¥ã®ããããããè¡åãžã®ã¹ãã¬ããã³ããŒããããŸãã ãã®åŸããéæãªãã³ããŒããäœæ¥äžã®ããã£ã³ãã¹ã«ã³ããŒãããŸãã
æ©èœããã¹ãïŒ
ãããŠããã®æ¹æ³ãããŸãæ©èœããŸãïŒ
ããã¹ãã¯ãã®ã»ã«ã«ä»çããŠããããã«èŠããŸããã éåžžã«ã¹ã ãŒãºãªã¹ã±ãŒãªã³ã°ã
2çªç®ã«æåããã¹ã±ãŒãªã³ã°æ¹æ³ã ç®æšã¯éæãããŸããããããã«è¯ããœãªã¥ãŒã·ã§ã³ã欲ããã§ãã æåŸã®2ã€ã®æ¹æ³ã¯ããªãœãŒã¹ãéäžçã«äœ¿çšããŸãã ããã¯çŽæ¥æããããŸãã
æ¹æ³7ãGDI +ããã©ã³ããµã€ãºã®æ¡å€§çž®å°
ããã§ãGDI +ã䜿çšããã¹ã±ãŒãªã³ã°ãããã¹ãåºåãªã©ãç¬èªã®æ£ç¢ºã§å£®å€§ãªããŒã«ãéçºããŸããã
ã³ã¡ã³ãããç¹å¥ãªãã®ã¯ãããŸããã äž»ãªããšã¯ãã¹ã±ãŒã«ã«å¿ããŠãã©ã³ããµã€ãºãå€æŽããããšã§ãã ã¢ã³ããšã€ãªã¢ã¹ïŒTextRenderingHintAntiAliasïŒã䜿çšããŠãGDI +ã䜿çšããããã¹ãåºåã ä»ã®ãã¹ãŠã¯ãœãŒã¹ããéåžžã«æ確ã§ãïŒ
çµæã¯åœç¶ãã¹ãŠã®æåŸ
ãäžåããŸãããã¹ã¯ãªãŒã³ã·ã§ããã¯æäŸããŸãã ãããã¯ãæåŸã®2ã€ã®æ¹æ³ã®äžèšã«äŒŒãŠããŸããå®è¡å¯èœãã¡ã€ã«ãå®è¡ããããšã§ãGDI +ã®ãã¯ãŒãããã«æããŸããæ¹æ³8ãGDI +ãã¹ã±ãŒã«å€æ
ãããŠåã³ãGDI +ãããããä»åã¯ã¹ã±ãŒã«å€æã䜿çšããŸããã€ãŸã
ãéåžžã®ããµã€ãºã§ããã¹ããæç»ãããšãGDI +ãšã³ãžã³ããã®ã¹ã±ãŒãªã³ã°ãåŠçããŸããå€æã¯ãScaleTransformïŒAZoomãAZoomïŒãåŒã³åºãããšã«ããå®è¡ãããŸãã
äžèšã®ãã¹ãŠã®æè¯ã®çµæãè©Šéšçµæ
ãã¹ãããã°ã©ã ã§ã¯ã[éå§]ãã¿ã³ãã¯ãªãã¯ããŠçµ±èšã®åéãéå§ã§ããŸããæ瀺ããããã¹ãŠã®æ¹æ³ã®é 次æ€çŽ¢ã¯ãããã°ã©ã ã§å¯èœãªãã¹ãŠã®ã¹ã±ãŒã«ã§è¡ãããŸããäœæ¥ãçµäºãããšã次ã®ã°ã©ãã衚瀺ãããŸããæåã®åã¯ããªç§åäœã®å¹³åæç»æéã§ãã 2çªç®ã¯ãå®éã®å€ããã®èšç®å€ã®çžå¯Ÿåå·®ã§ããç°¡åã«èšãã°ãæåã®å-æäœã«ãããæéã®çãã2çªç®ã®å-ã¹ã±ãŒãªã³ã°çµæã®é«ãã§ããã芧ã®ãšãããã¡ãœããã¯2ã€ã®ã°ã«ãŒãã«åããããŸã-æåã®4ã€-ã¹ã±ãŒã«ã®çµæãäžååã§ã2ã€ç®ã®4-ã¹ã±ãŒãªã³ã°ãæåããŸããå¥åŠã§ãããé床ã®é¢ã§æãäžåšçšãªæåã®æ¹æ³ã¯ãæè
ã®ã°ã«ãŒãã§ãã®æŽŸæãªå
åŒãããè¯ãçµæã瀺ããŸããã確ãã«ã圌ã®èšç®å€ããã®åå·®ã¯æ倧ã§ããååºããåè
ã¯ãã¹ã±ãŒã«å€æã䌎ãæ¹æ³8ãGDI +ãã§ãããããã£ãŠãåå¥ã®é¢æ°ãšããŠGDI +ã§ããã¹ãã®ã¬ã³ããªã³ã°ãäœæããŸããæå®ãããè§åºŠã®å転ãšã¢ã³ããšã€ãªã¢ã·ã³ã°ã«ããããã¹ãã®æ»ãããªã¹ã±ãŒãªã³ã°ã®æ©èœ
çãçµè«ãšã³ã¡ã³ã
- : SetMapMode
SetWindowOrgEx â .
SetViewportOrgEx â .
, SetViewportOrgEx (DC,100,100,nil), (100,100) TextOut(0,0,'Center here') (100,100); - GDI+ TranslateTransform (. DrawGDIPlusText).
, «» . - , . , â . - , SetGraphicsMode. , . , , , , . .
- SetGraphicsMode TXForm.
- //, , , , GDI+, GDI+? â , , , . , .
- GDI+ VCL . TCanvas TCanvas, Windows API GDI, GDI+.
- GDI GDI+. GDI+ GDI+. ã€ãŸã , , , SetGraphicsMode, GDI+.
ææ°ã®ã¹ããŒãã¡ã³ãã®ãã¢ã³ã¹ãã¬ãŒã·ã§ã³ãšããŠãçµ±èšåºåé¢æ°ã¯ãDrawGDIPlusTexté¢æ°ã䜿çšããŠãè§åºŠãšè§åºŠãå«ãããã¹ãã®åºåãšã¹ã±ãŒã«ãšãªãã»ãããæ
åœããSetGraphicsModeã䜿çšããŠèšè¿°ãããŸãã次ã®åœ¢åŒã§ïŒ type TFmMain = class(TForm) ⊠private FList : TxZoomStatList;
çµ±èšãæç»ããŸããDrawZoomStatListïŒ ããŠã³ããŒãïŒDelphi XE 7ãœãŒã¹ïŒ70 KbïŒ