GTK和GLADE:在Cairo C中绘制数字,尝试将整数转换为char *

时间:2018-08-23 17:55:46

标签: c gtk gtk3 cairo

我正在尝试在开罗画一个数字,但是我看到的唯一方法是执行以下步骤:

  void dibuje(cairo_t * cr,int numero){
    cairo_text_extents_t范围;

    char * ut =“ 22”;

    cairo_set_source_rgb(cr,0,0,0);

    cairo_select_font_face(cr,“ Sans”,CAIRO_FONT_SLANT_NORMAL,CAIRO_FONT_WEIGHT_NORMAL);

    cairo_set_font_size(cr,12.0);
    cairo_text_extents(cr,ut,&extents);


    cairo_move_to(cr,300,300);
    cairo_show_text(cr,ut);
}
 

那样,我只画“ 22”,但是我想画每个参数收到的数字,另一种解决方法是将该数字转换为char *,但是,我不知道怎么做< / p>

1 个答案:

答案 0 :(得分:1)

WeatherVane的解决方案:您需要使用sprintf而不是cairo_text_extends,如下所示:

  void dibuje_numero(cairo_t *cr, int numero, int posx, int posy){          
    cairo_move_to(cr, posx, posy);
    sprintf(buffer, "%d", numero);
    cairo_show_text(cr, buffer);
}