后端砖头

C语言使用Cairo实现裁剪效果

2022-03-13  本文已影响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, 10, 10, 100, 0, 2 * M_PI);
    cairo_clip(cr);

    cairo_new_path(cr);
    cairo_rectangle(cr, 10, 10, 200, 200);
    cairo_fill(cr);

    cairo_surface_write_to_png(surface, "a.png");
    cairo_destroy(cr);

    return 0;
}

2.编译源码

$ gcc -o test test.c -lcairo

3.运行程序

$ ./test

4.结果展示

a.png
上一篇 下一篇

猜你喜欢

热点阅读