锘??xml version="1.0" encoding="utf-8" standalone="yes"?>国产精品无码久久久久久,久久香综合精品久久伊人,97精品国产97久久久久久免费http://m.shnenglu.com/wc250en007/category/16812.html鍓嶈繘鐨勮礬涓?/description>zh-cnSun, 14 Aug 2011 18:09:19 GMTSun, 14 Aug 2011 18:09:19 GMT60freetype涔嬪綰跨▼http://m.shnenglu.com/wc250en007/archive/2011/08/13/153267.htmlLet me see seeLet me see seeSat, 13 Aug 2011 06:36:00 GMThttp://m.shnenglu.com/wc250en007/archive/2011/08/13/153267.htmlhttp://m.shnenglu.com/wc250en007/comments/153267.htmlhttp://m.shnenglu.com/wc250en007/archive/2011/08/13/153267.html#Feedback0http://m.shnenglu.com/wc250en007/comments/commentRss/153267.htmlhttp://m.shnenglu.com/wc250en007/services/trackbacks/153267.html榪欓噷瑕佽鐨勪笉鏄綰跨▼浣跨敤FreeType鐨勫姛鑳斤紝鑰屾槸澶氱嚎紼嬪鑷碏reeType FT_Load_Char 澶辮觸鐨勯棶棰橈紝鎬葷粨浜嗕竴浜涙濊礬錛屽笇鏈涢亣鍒版綾婚棶棰樼殑鏈嬪弸灝戣蛋浜涘集璺?br />
 鍦ㄦ父鎴忓紑鍙戠殑鏃跺欓亣鍒頒簡涓縐嶆儏鍐碉紝姣忔榪涘叆娓告垙鏃訛紝鎬繪槸鎶reeType FT_Load_Char 鍔犺澆瀛楀艦澶辮觸鐨勪竴浜涢敊璇紝濡?#8216;浠?#8217;‘韙?#8217;... 鏈閮侀椃鐨勪笉鏄瘡嬈¢兘鍑虹幇錛屾垜浠ヤ負(fù)鏄垜浣跨敤鐨凢reeType鏂規(guī)硶鏈夐棶棰?br />
1.闂細(xì)鏄笉鏄疐reeType鍔犺澆鏌愪簺瀛楀艦浼?xì)鏈夊まp觸鐨勬儏鍐?br />瑙e喅鏂規(guī)硶: 鎴戝湪鑷繁鐨凢reeType灝忕▼搴忎笂灝嗘墍鏈夊け璐ュ瓧褰㈢殑鍏ㄩ儴鍔犺澆浜?000000閬嶏紝NoProblem 鍛靛懙錛岃繖璇存槑澶х浠殑搴撳湪涓鑸儏鍐典笅鏄粡寰椾綇鑰冮獙鐨勶紝鎺掗櫎浜嗚繖涓棶棰橈紝璇存槑闂鍑哄湪鎴戜滑鑷韓紼嬪簭涓?br />
2. 闂細(xì)鏃㈢劧鏄嚭鐜板湪鎴戜滑鐨勭▼搴忎腑錛岄偅鎴戜嬌鐢ㄧ殑FreeType 鍔犺澆瀛楀艦涓瀹氬氨澶辮觸浜嗕箞錛?鎴戠殑浠g爜鏄Щ妞嶈繃鏉ョ殑錛岃帿闈炴崲浜嗕釜鍦版柟灝卞彂鐢熶簡璐ㄥ彉,榪樻槸鎴戝湪閭i噷澶勭悊閿欎簡錛?br />瑙e喅鏂規(guī)硶錛氬皢鍏朵粬UI鐨勫姞杞藉拰閫昏緫鍏ㄩ儴鍘繪帀錛屽彧鍦℅ameFrameRender 涓覆鏌撳姞杞藉け璐ョ殑鏂囧瓧N閬嶏紝 緇撴灉娌℃湁浠諱綍鐨勯棶棰橈紝FT_Load_Char 涓濡傛棦寰鐨勬甯?br />
3.闂? 鑾潪鏄疷I鐨勬煇涓帶浠剁殑閿欒浣跨敤瀵艱嚧鏌愬潡鍐呭瓨鍖哄煙鍐欏潖瀵艱嚧 鍔犺澆瀛楀艦鍋剁劧鎬х殑澶辮觸錛?br />瑙e喅鏂規(guī)硶錛氬皢UI鐨勪嬌鐢ㄩ昏緫娣誨姞濂斤紝鍐嶆嫻嬭瘯錛孫K錛岄棶棰樺湪鍒殑鍦版柟

4.闂細(xì) 鎯呭喌鎬繪槸鍑虹幇鍦ㄨ繘鍏ユ父鎴忔椂錛岃繘鍏ユ父鎴忔椂錛屽彧鏈夊姞杞藉湴鍥撅紝鑰屽姞杞藉湴鍥懼湪涓涓嚎紼婰oadMapThreadProc涓墽琛岀殑,鍜岃繖閲屾湁鍏崇郴涔堬紵
瑙e喅鏂規(guī)硶:灝嗗叾浠栨棤鍏崇殑浠g爜娉ㄩ噴鎺夛紝鍙繚鐣欏姞杞藉湴鍥懼拰娓叉煋鏂囧瓧... 榪愯...          緇堜簬宕╂簝浜?..

鎵懼埌闂鎵鍦ㄤ簡錛屽拰澶氱嚎紼嬫湁鍏籌紝see浜嗕笅榪欐澶氱嚎紼嬬殑浠g爜錛屼復(fù)鐣屽尯鐨勫鐞嗚繕鐪熸槸灝戝晩錛屽叾涓竴孌典唬鐮侊紝褰撳湴鍥懼姞杞藉畬姣曞悗錛屼細(xì)灝嗕漢鐗╀紶閫佸埌鍔犺澆鍦板浘鐨勬寚瀹氫綅緗紝騫跺皢灝忓湴鍥綬refresh錛堬級
鍒鋒柊鏃訛紝浼?xì)灏嗗綋鍓嶅湴鍥剧殑鍚嶅瓧鍑虹幇鍦ㄥ睆骞曚?br />涓葷嚎紼嬶細(xì)ParseText()  ...  ParseChar()  ... FT_Load_Char() ...
鍏朵粬綰跨▼: ParseText()  ...  ParseChar()  ... FT_Load_Char() ...

鏋滄柇灝嗚繖孌?LoadMapThread 涓殑鍒鋒柊鏂囨湰鐨勫嚱鏁?鏀懼埌涓葷嚎紼嬩腑錛岄渶瑕佸埛鏂版椂鍜屼富綰跨▼閫氫俊涓涓?.. OK 娌¢棶棰?br />
鎬葷粨涓涓嬶細(xì)澶氱嚎紼嬪悓鏃跺鐞咶T_Load_Char緇撴灉寰堝彲鑳芥槸鏈煡鐨勶紝鎴戜滑涓瀹氳澶勭悊濂芥枃瀛楀綰跨▼鐨勫鐞嗭紝鍚﹀垯鍗充嬌褰撳墠娌℃湁鍑虹幇榪囦粈涔堥棶棰橈紝浠ュ悗涔熶細(xì)鍥炴潵澶村ぇ鐨勫洖鏉ヤ慨鏀圭殑

鏌ユ壘閿欒浣跨敤鐨勫伐鍏? VLD媯嫻嬪唴瀛樻硠闇茶秺鐣?nbsp; 鎺у埗鍙板拰鏃ュ織璁板綍(娌″ス涓嶈鍟娿傘?



]]>
鏁欎綘鎬庝箞寮鍙戞紓浜殑鎻忚竟瀛椾綋(杞?http://m.shnenglu.com/wc250en007/archive/2011/07/13/150812.htmlLet me see seeLet me see seeTue, 12 Jul 2011 23:46:00 GMThttp://m.shnenglu.com/wc250en007/archive/2011/07/13/150812.htmlhttp://m.shnenglu.com/wc250en007/comments/150812.htmlhttp://m.shnenglu.com/wc250en007/archive/2011/07/13/150812.html#Feedback0http://m.shnenglu.com/wc250en007/comments/commentRss/150812.htmlhttp://m.shnenglu.com/wc250en007/services/trackbacks/150812.html

鏁欎綘鎬庝箞寮鍙戞紓浜殑鎻忚竟瀛椾綋

 (2011-01-23 10:28:15)
鏍囩錛?/span> 

鏉傝皥

鍦ㄥぉ榫欏叓閮紝鑱婁釜鏂嬭繖浜涘浗浜х殑娓告垙涓紝閮界敤鍒頒簡freetype錛屽茍浣跨敤鍒癴reetype鎻愪緵鐨勬弿杈圭敓鎴愭柟娉曘?/p>

鍏充簬freetype鎬庝箞搴旂敤鎻忚竟錛屾湁涓猻ample錛岄摼鎺ュ涓?/p>

 http://www.freetype.org/freetype2/docs/tutorial/example2.cpp

浣嗘槸榪欎釜sample涓殑鐢熸垚鎻忚竟鐨勬柟寮忔槸浣庢晥鐜囩殑錛屽洜涓烘槸闂存帴鐢熸垚鐨勶紝鍦ㄦ弿緇樺嚱鏁伴噷闈㈠緱鍒皊pan鐨勪俊鎭紝鐒跺悗鍙堥亶鍘嗕簡span鍐嶇敓鎴恇itmap錛屾渶鍚庡啀杈撳嚭銆?/p>

緇忚繃鎴戜竴涓氬鐮旂┒錛屾垜鎯沖嚭浜嗕竴涓洿涓虹洿鎺ョ殑鎻忕粯鏂瑰紡銆?/p>

鍙鎶婅繖涓猻ample涓棿鐨勪竴閮ㄥ垎鏇挎崲鎴愬涓嬩唬鐮佸氨鍙互浜?

        FT_Outline *outline = &reinterpret_cast<FT_OutlineGlyph>(glyph)->outline;
        FT_Glyph_Get_CBox(glyph,
            FT_GLYPH_BBOX_GRIDFIT,
            &bbox);
        int width = (bbox.xMax - bbox.xMin)>>6;
        int rows = (bbox.yMax - bbox.yMin)>>6;
        
        bmp.buffer = new unsigned char[width * rows];
        memset(bmp.buffer, 0, width * rows);
        bmp.width = width;
        bmp.rows = rows;
        bmp.pitch = width;
        bmp.pixel_mode = FT_PIXEL_MODE_GRAY;
        bmp.num_grays = 256;

        memset(&params, 0, sizeof (params));
        params.source = outline;
        params.target = &bmp;
        params.flags = FT_RASTER_FLAG_AA;

        FT_Outline_Translate(outline,-bbox.xMin,-bbox.yMin);
        FT_Outline_Render(library, outline, &params);
        save_edge_buffer = bmp.buffer;
        
        FT_BBox bbox_in;
        FT_Glyph glyph_fg;
        FT_Get_Glyph(size->face->glyph, &glyph_fg);
        FT_Glyph_Get_CBox(glyph_fg,
              FT_GLYPH_BBOX_GRIDFIT,
              &bbox_in);

        bmp.buffer = new unsigned char[width * rows];
        memset(bmp.buffer, 0, width * rows);
        bmp.width = width;
        bmp.rows = rows;
        bmp.pitch = width;
        bmp.pixel_mode = FT_PIXEL_MODE_GRAY;
        bmp.num_grays = 256;
        outline = &reinterpret_cast<FT_OutlineGlyph>(glyph_fg)->outline;
        memset(&params, 0, sizeof (params));
        params.source = outline;
        params.target = &bmp;
        params.flags = FT_RASTER_FLAG_AA;
        FT_Outline_Translate(outline,-bbox.xMin,-bbox.yMin);
        FT_Outline_Render(library, outline, &params);
        save_buffer = bmp.buffer;
        
        int inner_h = (bbox.yMax-bbox_in.yMax)>>6 ;
        int w = (bbox_in.xMax-bbox_in.xMin)>>6 ;
        int left = (bbox.xMin-bbox_in.xMin)>>6 ;
        width=width;
        height=rows;
        pitch = (size->face->glyph->advance.x >> 6)+width-w ;
        key_x=-(size->face->glyph->metrics.horiBearingX >> 6)-left ;
        key_y=-_ascent+inner_h+((size->face->glyph->metrics.horiBearingY) >> 6);

浠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錛屼絾鏄垜浠旂粏瑙傚療浜嗛瓟鍏界殑瀛椾綋錛屽彂鐜伴瓟鍏芥渶澶т篃濂藉儚鍙敮鎸佷袱涓儚绱犵殑鎻忚竟錛岃屼笖欖斿吔鐨勬弿杈規(guī)柟寮忎篃鍜宖reetype鎻愪緵鐨勮繖縐嶄嬌鐢╯tokers鐨勬弿杈逛笉涓鏍楓?/p>



]]>
浣跨敤FreeType瀹炵幇鐭㈤噺瀛椾綋鐨勭矖浣撱佹枩浣撱佹弿杈廣侀槾褰辨晥鏋?杞?http://m.shnenglu.com/wc250en007/archive/2011/07/13/150809.htmlLet me see seeLet me see seeTue, 12 Jul 2011 23:30:00 GMThttp://m.shnenglu.com/wc250en007/archive/2011/07/13/150809.htmlhttp://m.shnenglu.com/wc250en007/comments/150809.htmlhttp://m.shnenglu.com/wc250en007/archive/2011/07/13/150809.html#Feedback0http://m.shnenglu.com/wc250en007/comments/commentRss/150809.htmlhttp://m.shnenglu.com/wc250en007/services/trackbacks/150809.html闃呰鍏ㄦ枃

]]>
Freetype2緗戝潃http://m.shnenglu.com/wc250en007/archive/2011/07/05/150175.htmlLet me see seeLet me see seeTue, 05 Jul 2011 00:09:00 GMThttp://m.shnenglu.com/wc250en007/archive/2011/07/05/150175.htmlhttp://m.shnenglu.com/wc250en007/comments/150175.htmlhttp://m.shnenglu.com/wc250en007/archive/2011/07/05/150175.html#Feedback0http://m.shnenglu.com/wc250en007/comments/commentRss/150175.htmlhttp://m.shnenglu.com/wc250en007/services/trackbacks/150175.htmlhttp://kasicass.blog.163.com/blog/static/3956192009125112338305/
http://blog.csdn.net/superjoel/article/details/2899119


鎶婃父鎴忎腑鐨勫瓧浣撴覆鏌撴浛鎹㈡帀

]]>
freetype2澶遍噺涓枃瀛楀簱鏄劇ずhttp://m.shnenglu.com/wc250en007/archive/2011/05/03/145560.htmlLet me see seeLet me see seeTue, 03 May 2011 06:00:00 GMThttp://m.shnenglu.com/wc250en007/archive/2011/05/03/145560.htmlhttp://m.shnenglu.com/wc250en007/comments/145560.htmlhttp://m.shnenglu.com/wc250en007/archive/2011/05/03/145560.html#Feedback0http://m.shnenglu.com/wc250en007/comments/commentRss/145560.htmlhttp://m.shnenglu.com/wc250en007/services/trackbacks/145560.html

1         寮曡█

涓轟簡鍦ㄥ祵鍏ュ紡緋葷粺瀹炵幇鐭㈤噺涓枃鏄劇ず錛屾垜鍏堝湪PC鏈轟笂瀹炵幇澶遍噺瀛楀簱涓枃鏄劇ず錛屽湪姝ゅ熀紜涓婂皢鍏剁Щ妞嶅埌宓屽叆寮忕郴緇熶腑銆傝鏂規(guī)硶鏄埄鐢?/span>VC++寮鍙戝伐鍏鳳紝灝?/span>freetype搴撳嚱鏁扮Щ妞嶅埌VC鐜涓繘琛屽紑鍙戙?/span>

2         瀹炵幇姝ラ

2.1       寤虹珛VC鍔ㄦ佽繛鎺ュ簱宸ョ▼

鍦ㄥ緩绔嬬殑宸ョ▼涓姞鍏?/span>*.lib鏂囦歡錛屼互鍙?qiáng)澶存枃錃g銆?/span>

#include <stdio.h>

#include <ft2build.h>

//#include FT_FREETYPE_H

#include <freetype\freetype.h>

#include <freetype\ftglyph.h>

2.2       鍒濆鍖栧簱

綆鍗曞湴鍒涘緩涓涓?/span>FT_Library綾誨瀷鐨勫彉閲忥紝渚嬪library錛岀劧鍚庤薄涓嬮潰閭f牱璋冪敤鍑芥暟FT_Init_FreeType錛?/span>

FT_Library    pFTLib         =  NULL;

//  Init FreeType Lib to manage memory

error  =  FT_Init_FreeType( & pFTLib);

if (error)

{

pFTLib  =   0 ;

printf( " There is some error when Init Library " );

return   - 1 ;

}

2.3       瑁呰澆涓涓瓧浣?/span>face

        FT_Face        pFTFace         =  NULL;

        //  create font face from font file

       error  =  FT_New_Face(pFTLib, "C:\\WINDOWS\\Fonts\\arialuni.ttf",0,& pFTFace);

2.4       璁劇疆褰撳墠璞$礌灝哄

褰撲竴涓柊鐨?/span>face瀵硅薄寤虹珛鏃訛紝鎵鏈夋垚鍛橀兘鍦ㄥ垵濮嬪寲闃舵0璁句負(fù)0銆傝皟鐢?/span>FT_Set_Char_Size瀵硅繖涓粨鏋勮繘琛岃祴鍊箋傝繖閲屾湁涓涓緥瀛愶紝瀹冨湪涓涓?/span>300x300dpi璁懼涓婃妸瀛楃澶у皬璁劇疆涓?/span>16pt銆?/span>

 error = FT_Set_Char_Size( face,  

                       0,     

                       16*64, 

                       300,   

                       300 ); 

 FT_Set_Char_Size(pFTFace,  16 << 6 ,  16 << 6 ,  300 ,  300 );

2.5       瑁呰澆涓涓瓧褰㈠浘鍍?/font>

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  =  FT_Get_Glyph(pFTFace -> glyph,  & glyph);

3銆佸緱鍒板瓧褰綅鍥?/span>

FT_Glyph_To_Bitmap( & glyph, ft_render_mode_normal,  0 ,  1 );

2.6       杈撳嚭瀛楀艦

 



]]>
国产香蕉久久精品综合网| 久久亚洲精品无码AV红樱桃| 成人精品一区二区久久| 久久久久婷婷| 久久精品中文騷妇女内射| 99久久人人爽亚洲精品美女| 久久涩综合| 久久久久久毛片免费播放| 久久精品国产一区二区三区不卡| 亚洲精品乱码久久久久久| 99久久免费只有精品国产| 中文字幕久久波多野结衣av| 中文字幕久久欲求不满| 亚洲级αV无码毛片久久精品| 99久久亚洲综合精品网站| 久久精品国产色蜜蜜麻豆| 国产亚洲成人久久| 久久国产精品无码一区二区三区| 久久久国产精品| 91精品国产91热久久久久福利| 欧美一区二区三区久久综合| 久久精品亚洲欧美日韩久久| 久久精品www人人爽人人| 一本久久免费视频| 久久精品免费网站网| 久久夜色精品国产噜噜亚洲AV| 欧美大香线蕉线伊人久久| 精品人妻伦一二三区久久| 久久精品国产精品国产精品污 | 久久香蕉超碰97国产精品| 伊人久久大香线蕉成人| 久久激情亚洲精品无码?V| 久久精品99无色码中文字幕| 国产亚洲精久久久久久无码AV| 久久99热狠狠色精品一区| 久久99国产精品久久99| 国内精品伊人久久久久| 66精品综合久久久久久久| 国产成人精品久久亚洲高清不卡 | A级毛片无码久久精品免费| 久久综合狠狠色综合伊人|