1.源码实现
#include <stdio.h>
#include <cairo/cairo.h>
#define M_PI 3.141592654
int main()
{
cairo_surface_t *surface;
cairo_t *cr;
surface = cairo_image_surface_create(CAIRO_FORMAT_ARGB32, 300, 300);
cr = cairo_create(surface);
cairo_set_source_rgb(cr, 0, 1, 0);
cairo_arc(cr, 100, 150, 80, 0, 2 * M_PI);
cairo_fill(cr);
cairo_set_operator(cr, CAIRO_OPERATOR_OUT);
/*cairo_set_operator(cr, CAIRO_OPERATOR_DEST_OUT);*/
cairo_set_source_rgb(cr, 1, 1, 0);
cairo_arc(cr, 200, 150, 80, 0, 2 * M_PI);
cairo_fill(cr);
cairo_surface_write_to_png(surface, "a.png");
cairo_surface_destroy(surface);
cairo_destroy(cr);
return 0;
}
2.编译源码
$ gcc -o test test.c -lcairo
3.运行程序
$ ./test
4.结果展示
a.png
网友评论