我是cairo的新手,我已阅读其网站上的教程/文档。 现在我可以制作线条,矩形,基本上我可以渲染图像而不是文本。
我正在使用以下代码
cairo_select_font_face (cr, "monospace", CAIRO_FONT_SLANT_NORMAL, CAIRO_FONT_WEIGHT_NORMAl);
cairo_set_font_size (cr, 14);
cairo_set_source_rgb (cr, 1, 1, 1);
cairo_move_to (cr, 50, 50);
cairo_show_text (cr, "Print Something");
任何人都可以指出我的错误吗?
答案 0 :(得分:2)
与cairo邮件列表上的答案相同(似乎在某处丢失了):
你没有做错任何事(好吧,也许使用玩具文本API,但这应该仍然有效),你的代码对我来说很好。以下是我测试过的完整代码:
#include <cairo.h>
int main()
{
cairo_surface_t *surface = cairo_image_surface_create(CAIRO_FORMAT_ARGB32, 200, 200);
cairo_t *cr = cairo_create(surface);
cairo_surface_destroy(surface);
/* Fill everything with white */
cairo_set_source_rgb(cr, 1, 1, 1);
cairo_paint(cr);
/* Draw some text */
cairo_select_font_face (cr, "monospace", CAIRO_FONT_SLANT_NORMAL, CAIRO_FONT_WEIGHT_NORMAL);
cairo_set_font_size (cr, 14);
cairo_set_source_rgb (cr, 0, 0, 0);
cairo_move_to (cr, 0, 50);
cairo_show_text (cr, "Print Something");
cairo_surface_write_to_png(cairo_get_target(cr), "out.png");
cairo_destroy(cr);
return 0;
}