锘??xml version="1.0" encoding="utf-8" standalone="yes"?> 鍦ㄥぉ榫欏叓閮紝鑱婁釜鏂嬭繖浜涘浗浜х殑娓告垙涓紝閮界敤鍒頒簡freetype錛屽茍浣跨敤鍒癴reetype鎻愪緵鐨勬弿杈圭敓鎴愭柟娉曘?/p>
鍏充簬freetype鎬庝箞搴旂敤鎻忚竟錛屾湁涓猻ample錛岄摼鎺ュ涓?/p>
浣嗘槸榪欎釜sample涓殑鐢熸垚鎻忚竟鐨勬柟寮忔槸浣庢晥鐜囩殑錛屽洜涓烘槸闂存帴鐢熸垚鐨勶紝鍦ㄦ弿緇樺嚱鏁伴噷闈㈠緱鍒皊pan鐨勪俊鎭紝鐒跺悗鍙堥亶鍘嗕簡span鍐嶇敓鎴恇itmap錛屾渶鍚庡啀杈撳嚭銆?/p>
緇忚繃鎴戜竴涓氬鐮旂┒錛屾垜鎯沖嚭浜嗕竴涓洿涓虹洿鎺ョ殑鎻忕粯鏂瑰紡銆?/p>
鍙鎶婅繖涓猻ample涓棿鐨勪竴閮ㄥ垎鏇挎崲鎴愬涓嬩唬鐮佸氨鍙互浜? 浠g爜鎴戝仛浜嗗垹鍑忥紝紼嶅井淇敼涓涓嬪氨鍙互鏇夸唬閲岄潰鐢ㄥ埌鐨勬弿緇樻柟寮忋?/p>
寰楀埌bitmap涔嬪悗錛屼綘鎯蟲庝箞鐢誨氨鎬庝箞鐢匯?/p>
鍏跺疄涓婃槸寰楀埌涓ゅ紶alpha鍥撅紝涓寮犳槸鎻忚竟淇℃伅鐨刟lpha鍥撅紝涓寮犳槸瀛椾綋鏈韓鐨刟lpha鍥撅紝鍓╀笅鐨勪簨鎯咃紝鍙槸鍦ㄧ敾鍑烘潵鐨勬椂鍊欏姞涓婁綘闇瑕佺殑棰滆壊灝卞彲浠ヤ簡銆?/p>
鍏充簬榪欑鏂瑰紡鐨勬弿杈癸紝鍏跺疄榪樻湁涓猙ug錛岃繖涓猣reetype鐨勫紑鍙戠粍榪樻病瀹屽叏瑙e喅錛岃繖涓猙ug濡備笅 http://lists.nongnu.org/archive/html/freetype/2011-01/msg00022.html銆?/p>
鏈変漢璇撮瓟鍏戒笘鐣屼篃鐢ㄥ埌浜唂reetype錛屼絾鏄垜浠旂粏瑙傚療浜嗛瓟鍏界殑瀛椾綋錛屽彂鐜伴瓟鍏芥渶澶т篃濂藉儚鍙敮鎸佷袱涓儚绱犵殑鎻忚竟錛岃屼笖欖斿吔鐨勬弿杈規柟寮忎篃鍜宖reetype鎻愪緵鐨勮繖縐嶄嬌鐢╯tokers鐨勬弿杈逛笉涓鏍楓?/p> 涓轟簡鍦ㄥ祵鍏ュ紡緋葷粺瀹炵幇鐭㈤噺涓枃鏄劇ず錛屾垜鍏堝湪PC鏈轟笂瀹炵幇澶遍噺瀛楀簱涓枃鏄劇ず錛屽湪姝ゅ熀紜涓婂皢鍏剁Щ妞嶅埌宓屽叆寮忕郴緇熶腑銆傝鏂規硶鏄埄鐢?/span>VC++寮鍙戝伐鍏鳳紝灝?/span>freetype搴撳嚱鏁扮Щ妞嶅埌VC鐜涓繘琛屽紑鍙戙?/span> 鍦ㄥ緩绔嬬殑宸ョ▼涓姞鍏?/span>*.lib鏂囦歡錛屼互鍙婂ご鏂囦歡銆?/span> #include <stdio.h> #include <ft2build.h> //#include FT_FREETYPE_H #include <freetype\freetype.h> #include <freetype\ftglyph.h> 綆鍗曞湴鍒涘緩涓涓?/span>FT_Library綾誨瀷鐨勫彉閲忥紝渚嬪library錛岀劧鍚庤薄涓嬮潰閭f牱璋冪敤鍑芥暟FT_Init_FreeType錛?/span> FT_Library // error if (error) { pFTLib printf( " There is some error when Init Library " ); return } 褰撲竴涓柊鐨?/span>face瀵硅薄寤虹珛鏃訛紝鎵鏈夋垚鍛橀兘鍦ㄥ垵濮嬪寲闃舵0璁句負0銆傝皟鐢?/span>FT_Set_Char_Size瀵硅繖涓粨鏋勮繘琛岃祴鍊箋傝繖閲屾湁涓涓緥瀛愶紝瀹冨湪涓涓?/span>300x300dpi璁懼涓婃妸瀛楃澶у皬璁劇疆涓?/span>16pt銆?/span> 1銆佷粠瀛楃鐮佹绱㈠瓧褰㈢儲寮?/span> glyph_index = FT_Get_Char_Index( pFTFace, ucode[n] ); 2銆佷粠face涓杞藉瓧褰?/span> error = FT_Load_Glyph( pFTFace, glyph_index, FT_LOAD_DEFAULT ); error 3銆佸緱鍒板瓧褰綅鍥?/span> FT_Glyph_To_Bitmap( & glyph, ft_render_mode_normal,
鍦ㄦ父鎴忓紑鍙戠殑鏃跺欓亣鍒頒簡涓縐嶆儏鍐碉紝姣忔榪涘叆娓告垙鏃訛紝鎬繪槸鎶reeType FT_Load_Char 鍔犺澆瀛楀艦澶辮觸鐨勪竴浜涢敊璇紝濡?#8216;浠?#8217;‘韙?#8217;... 鏈閮侀椃鐨勪笉鏄瘡嬈¢兘鍑虹幇錛屾垜浠ヤ負鏄垜浣跨敤鐨凢reeType鏂規硶鏈夐棶棰?br />
1.闂細鏄笉鏄疐reeType鍔犺澆鏌愪簺瀛楀艦浼氭湁澶辮觸鐨勬儏鍐?br />瑙e喅鏂規硶: 鎴戝湪鑷繁鐨凢reeType灝忕▼搴忎笂灝嗘墍鏈夊け璐ュ瓧褰㈢殑鍏ㄩ儴鍔犺澆浜?000000閬嶏紝NoProblem 鍛靛懙錛岃繖璇存槑澶х浠殑搴撳湪涓鑸儏鍐典笅鏄粡寰椾綇鑰冮獙鐨勶紝鎺掗櫎浜嗚繖涓棶棰橈紝璇存槑闂鍑哄湪鎴戜滑鑷韓紼嬪簭涓?br />
2. 闂細鏃㈢劧鏄嚭鐜板湪鎴戜滑鐨勭▼搴忎腑錛岄偅鎴戜嬌鐢ㄧ殑FreeType 鍔犺澆瀛楀艦涓瀹氬氨澶辮觸浜嗕箞錛?鎴戠殑浠g爜鏄Щ妞嶈繃鏉ョ殑錛岃帿闈炴崲浜嗕釜鍦版柟灝卞彂鐢熶簡璐ㄥ彉,榪樻槸鎴戝湪閭i噷澶勭悊閿欎簡錛?br />瑙e喅鏂規硶錛氬皢鍏朵粬UI鐨勫姞杞藉拰閫昏緫鍏ㄩ儴鍘繪帀錛屽彧鍦℅ameFrameRender 涓覆鏌撳姞杞藉け璐ョ殑鏂囧瓧N閬嶏紝 緇撴灉娌℃湁浠諱綍鐨勯棶棰橈紝FT_Load_Char 涓濡傛棦寰鐨勬甯?br />
3.闂? 鑾潪鏄疷I鐨勬煇涓帶浠剁殑閿欒浣跨敤瀵艱嚧鏌愬潡鍐呭瓨鍖哄煙鍐欏潖瀵艱嚧 鍔犺澆瀛楀艦鍋剁劧鎬х殑澶辮觸錛?br />瑙e喅鏂規硶錛氬皢UI鐨勪嬌鐢ㄩ昏緫娣誨姞濂斤紝鍐嶆嫻嬭瘯錛孫K錛岄棶棰樺湪鍒殑鍦版柟
4.闂細 鎯呭喌鎬繪槸鍑虹幇鍦ㄨ繘鍏ユ父鎴忔椂錛岃繘鍏ユ父鎴忔椂錛屽彧鏈夊姞杞藉湴鍥撅紝鑰屽姞杞藉湴鍥懼湪涓涓嚎紼婰oadMapThreadProc涓墽琛岀殑,鍜岃繖閲屾湁鍏崇郴涔堬紵
瑙e喅鏂規硶:灝嗗叾浠栨棤鍏崇殑浠g爜娉ㄩ噴鎺夛紝鍙繚鐣欏姞杞藉湴鍥懼拰娓叉煋鏂囧瓧... 榪愯... 緇堜簬宕╂簝浜?..
鎵懼埌闂鎵鍦ㄤ簡錛屽拰澶氱嚎紼嬫湁鍏籌紝see浜嗕笅榪欐澶氱嚎紼嬬殑浠g爜錛屼復鐣屽尯鐨勫鐞嗚繕鐪熸槸灝戝晩錛屽叾涓竴孌典唬鐮侊紝褰撳湴鍥懼姞杞藉畬姣曞悗錛屼細灝嗕漢鐗╀紶閫佸埌鍔犺澆鍦板浘鐨勬寚瀹氫綅緗紝騫跺皢灝忓湴鍥綬refresh錛堬級
鍒鋒柊鏃訛紝浼氬皢褰撳墠鍦板浘鐨勫悕瀛楀嚭鐜板湪灞忓箷涓?br />涓葷嚎紼嬶細ParseText() ... ParseChar() ... FT_Load_Char() ...
鍏朵粬綰跨▼: ParseText() ... ParseChar() ... FT_Load_Char() ...
鏋滄柇灝嗚繖孌?LoadMapThread 涓殑鍒鋒柊鏂囨湰鐨勫嚱鏁?鏀懼埌涓葷嚎紼嬩腑錛岄渶瑕佸埛鏂版椂鍜屼富綰跨▼閫氫俊涓涓?.. OK 娌¢棶棰?br />
鎬葷粨涓涓嬶細澶氱嚎紼嬪悓鏃跺鐞咶T_Load_Char緇撴灉寰堝彲鑳芥槸鏈煡鐨勶紝鎴戜滑涓瀹氳澶勭悊濂芥枃瀛楀綰跨▼鐨勫鐞嗭紝鍚﹀垯鍗充嬌褰撳墠娌℃湁鍑虹幇榪囦粈涔堥棶棰橈紝浠ュ悗涔熶細鍥炴潵澶村ぇ鐨勫洖鏉ヤ慨鏀圭殑
鏌ユ壘閿欒浣跨敤鐨勫伐鍏? VLD媯嫻嬪唴瀛樻硠闇茶秺鐣?nbsp; 鎺у埗鍙板拰鏃ュ織璁板綍(娌″ス涓嶈鍟娿傘?
鏍囩錛?/span>
鏉傝皥
http://blog.csdn.net/superjoel/article/details/2899119
鎶婃父鎴忎腑鐨勫瓧浣撴覆鏌撴浛鎹㈡帀1
2
2.1
2.2
2.3
2.4
2.5
2.6