当前位置: 技术问答>linux和unix
有关GTK+2.X字体处理的问题
来源: 互联网 发布时间:2016-01-17
本文导语: 有个问题困扰我好几天了:使用GtkTextView时,怎么取得某一字体下一个字符串的像素宽度?(字体通过pango渲染) | 针对你的需求,你可以简单地用如下函数实现: PangoLayout* gtk_widget_create_pango...
有个问题困扰我好几天了:使用GtkTextView时,怎么取得某一字体下一个字符串的像素宽度?(字体通过pango渲染)
|
针对你的需求,你可以简单地用如下函数实现:
PangoLayout* gtk_widget_create_pango_layout (GtkWidget *widget,
const gchar *text);
比如你想获得字符串"string"在某个TextView中的像素宽度(不考虑换行及PangoMark),那么你只需调用上述函数:
PangoLayout *layout;
layout = gtk_widget_create_pango_layout(GTK_WIDGET(text_view), "string");
if (layout) {
pango_layout_get_pixel_size(layout, &width, NULL);
g_object_unref(layout);
}
PangoLayout* gtk_widget_create_pango_layout (GtkWidget *widget,
const gchar *text);
比如你想获得字符串"string"在某个TextView中的像素宽度(不考虑换行及PangoMark),那么你只需调用上述函数:
PangoLayout *layout;
layout = gtk_widget_create_pango_layout(GTK_WIDGET(text_view), "string");
if (layout) {
pango_layout_get_pixel_size(layout, &width, NULL);
g_object_unref(layout);
}