1
如何獲取像素中字符串的每個字形的大小? 我用CGFontGetGlyphBBoxes得到字符串每個字形的邊界框,並得到以下值:CGFont:計算字形邊界
2011-04-18 15:34:56.809 TextSize[3604:207] bbox['d'] = {{56, -38}, {949, 1512}}
2011-04-18 15:34:56.811 TextSize[3604:207] bbox['e'] = {{72, -38}, {978, 1135}}
2011-04-18 15:34:56.811 TextSize[3604:207] bbox['m'] = {{132, 0}, {1441, 1095}}
2011-04-18 15:34:56.812 TextSize[3604:207] bbox['o'] = {{59, -39}, {998, 1141}}
如果我有正確的認識,這些值在字體單位提出。這些值究竟意味着什麼,我如何將它轉換爲像素? CGFontGetGlyphAdvances和CGFontGetGlyphBBoxes返回的值有什麼區別?使用CGFontGetGlyphAdvances我得到如下:
2011-04-18 15:34:56.809 TextSize[3604:207] advance['d'] = 1139, bbox = {{56, -38}, {949, 1512}}
2011-04-18 15:34:56.811 TextSize[3604:207] advance['e'] = 1139, bbox = {{72, -38}, {978, 1135}}
2011-04-18 15:34:56.811 TextSize[3604:207] advance['m'] = 1706, bbox = {{132, 0}, {1441, 1095}}
2011-04-18 15:34:56.812 TextSize[3604:207] advance['o'] = 1139, bbox = {{59, -39}, {998, 1141}}
舉例來說,如果我想計算字符串的整個寬度(在我的情況「演示」),我應該用什麼樣的價值觀(bbox.size.width或提前) ?