锘??xml version="1.0" encoding="utf-8" standalone="yes"?>国产精品无码久久久久久,久久香综合精品久久伊人,97精品国产97久久久久久免费http://www.shnenglu.com/wc250en007/category/16812.html鍓嶈繘鐨勮礬涓?/description>zh-cnSun, 14 Aug 2011 18:09:19 GMTSun, 14 Aug 2011 18:09:19 GMT60freetype涔嬪綰跨▼http://www.shnenglu.com/wc250en007/archive/2011/08/13/153267.htmlLet me see seeLet me see seeSat, 13 Aug 2011 06:36:00 GMThttp://www.shnenglu.com/wc250en007/archive/2011/08/13/153267.htmlhttp://www.shnenglu.com/wc250en007/comments/153267.htmlhttp://www.shnenglu.com/wc250en007/archive/2011/08/13/153267.html#Feedback0http://www.shnenglu.com/wc250en007/comments/commentRss/153267.htmlhttp://www.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://www.shnenglu.com/wc250en007/archive/2011/07/13/150812.htmlLet me see seeLet me see seeTue, 12 Jul 2011 23:46:00 GMThttp://www.shnenglu.com/wc250en007/archive/2011/07/13/150812.htmlhttp://www.shnenglu.com/wc250en007/comments/150812.htmlhttp://www.shnenglu.com/wc250en007/archive/2011/07/13/150812.html#Feedback0http://www.shnenglu.com/wc250en007/comments/commentRss/150812.htmlhttp://www.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://www.shnenglu.com/wc250en007/archive/2011/07/13/150809.htmlLet me see seeLet me see seeTue, 12 Jul 2011 23:30:00 GMThttp://www.shnenglu.com/wc250en007/archive/2011/07/13/150809.htmlhttp://www.shnenglu.com/wc250en007/comments/150809.htmlhttp://www.shnenglu.com/wc250en007/archive/2011/07/13/150809.html#Feedback0http://www.shnenglu.com/wc250en007/comments/commentRss/150809.htmlhttp://www.shnenglu.com/wc250en007/services/trackbacks/150809.html闃呰鍏ㄦ枃

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


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

]]>
freetype2澶遍噺涓枃瀛楀簱鏄劇ずhttp://www.shnenglu.com/wc250en007/archive/2011/05/03/145560.htmlLet me see seeLet me see seeTue, 03 May 2011 06:00:00 GMThttp://www.shnenglu.com/wc250en007/archive/2011/05/03/145560.htmlhttp://www.shnenglu.com/wc250en007/comments/145560.htmlhttp://www.shnenglu.com/wc250en007/archive/2011/05/03/145560.html#Feedback0http://www.shnenglu.com/wc250en007/comments/commentRss/145560.htmlhttp://www.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       杈撳嚭瀛楀艦

 



]]>
国产精品久久久久久久午夜片 | 国产偷久久久精品专区| 怡红院日本一道日本久久 | 国产精品伊人久久伊人电影| 国产精品9999久久久久| 国产精品热久久无码av| 久久精品中文字幕一区| 久久久综合九色合综国产| 香蕉aa三级久久毛片| 97久久精品无码一区二区天美| 成人a毛片久久免费播放| 日产精品久久久久久久| AAA级久久久精品无码区| 久久精品青青草原伊人| 国内精品久久久久久久影视麻豆| 久久久久久久精品妇女99| 国产69精品久久久久99| 久久天天躁狠狠躁夜夜网站| 久久中文字幕视频、最近更新 | 中文精品久久久久人妻| 国内精品久久久久| 国内高清久久久久久| 亚洲国产成人精品女人久久久 | 色妞色综合久久夜夜| 久久精品成人欧美大片| 国产一久久香蕉国产线看观看| 一本久久精品一区二区| 久久精品无码专区免费| 国产真实乱对白精彩久久| 女人香蕉久久**毛片精品| 99久久婷婷国产综合亚洲| 色综合久久无码五十路人妻| 伊人久久亚洲综合影院| 免费精品久久久久久中文字幕| 久久久久久久99精品免费观看| 99久久这里只有精品| 久久精品a亚洲国产v高清不卡 | 思思久久99热只有频精品66| 久久亚洲av无码精品浪潮| 精品久久久久久久久久中文字幕 | 久久久久亚洲国产|