开罗用填充图案填充多边形

时间:2015-02-27 00:10:16

标签: haskell gtk drawing cairo

是否可以使用cairo用下面的填充(或任意)图案填充框或多边形?我没有在cairo文档或hackage中找到信息。

hatch pattern

  • cairo中是否有内置模式?
  • 填充模式的功能是什么?

我正在使用haskell,但任何语言的片段都会有所帮助。

1 个答案:

答案 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