美文网首页
C语言使用Cairo实现形状相减效果

C语言使用Cairo实现形状相减效果

作者: 一路向后 | 来源:发表于2022-03-15 21:21 被阅读0次

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

相关文章

网友评论

      本文标题:C语言使用Cairo实现形状相减效果

      本文链接:https://www.haomeiwen.com/subject/zctudrtx.html