是否可以使用cairo用下面的填充(或任意)图案填充框或多边形?我没有在cairo文档或hackage中找到信息。
我正在使用haskell,但任何语言的片段都会有所帮助。
答案 0 :(得分:3)
cairo_pattern_t *pattern = create_stipple ("lightgrey", (guchar *)stipple_data);
cairo_matrix_init_scale (&matrix, 1.0, 1.0);
cairo_pattern_set_matrix (pattern, &matrix);
some_shape = GOO_CANVAS_RECT (goo_canvas_rect_new (GOO_CANVAS_ITEM (group), 10.0, 10.0, 10.0, 10.0, "fill-pattern", pattern, "visibility", GOO_CANVAS_ITEM_INVISIBLE, NULL));
cairo_pattern_destroy (pattern);
取自我的一个宠物项目oregano @ github
另请参阅cairo API reference,其中也涵盖了通用模式API