码迷,mamicode.com
首页 > 其他好文 > 详细

ImageMagick:获取一行文字的宽与高

时间:2017-11-05 21:15:37      阅读:148      评论:0      收藏:0      [点我收藏+]

标签:draw   负数   wan   des   ble   获取   asc   文本   box   

double *fm = MagickQueryFontMetrics(mw_temp, dw_wand, text_utf8); //获取文字在指定字体和字号下的宽度和高度

double textWidth = fm[11]; //文本的宽度, 不 +1 右侧有些字母少一个像素不能显示

/** textHeight = fm[2] - fm[3] , 其实大部分情况下: fm[2](ascender) - fm[3](descender) = fm[6](maximum horizontal advance); 但很少时间也不一定!!!**/
/*
下面的这个参数不靠谱,不能使用:

fm[ 7][ box-x1]: -7.140625
fm[ 8][ box-y1]: -33554429.109375 (楷体, 32号字, 设置文字中含有汉字, 比如: 制作工具, 这里就显示一个非常大的负数!!!
fm[ 9][ box-x2]: 58.593750
fm[10][ box-y2]: 39.187500
*/
double textHeight = fm[2] - fm[3]; //fm[6];


/** 设置文字的重力位置, 也就是从哪个方向开始写, 这涉及到文字的定位坐标 **/
DrawSetGravity(dw_wand, SouthGravity); //设置 SouthGravity 后,就可以从 0,0 绘制文字。

ImageMagick:获取一行文字的宽与高

标签:draw   负数   wan   des   ble   获取   asc   文本   box   

原文地址:http://www.cnblogs.com/personnel/p/7788683.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!