Dina 11 Maret, sékrési utama munggaran 1.0.0 perpustakaan grafik vektor XNUMXD lumangsung PlutoVG, ditulis dina C sarta disebarkeun dina lisénsi MIT. Perpustakaan teu gaduh katergantungan pihak katilu.
Fitur perpustakaan:
- gaya gambar garis;
- padet, gradién jeung textured shading;
- fon sareng téks;
- pruning sareng komposisi;
- transformasi;
- ikonografi.
Perpustakaan dipaké dina proyék séjén pangarang: LunaSVG и PlutoSVG.
Parobihan:
- pamakean SemVer pikeun panomeran versi.
- Ditambahkeun makro PLUTOVG_EMPTY_POINT sareng PLUTOVG_EMPTY_RECT.
Kode:
#kaasup int utama (batal) {const int lebar = 150; const int jangkungna = 150; const float center_x = rubak / 2.f; const float center_y = jangkungna / 2.f; const float face_radius = 70; const float mouth_radius = 50; const float panon_radius = 10; const float eye_offset_x = 25; const float eye_offset_y = 20; const float eye_x = center_x - eye_offset_x; const float eye_y = center_y — eye_offset_y; plutovg_surface_t* surface = plutovg_surface_create(lebar, jangkungna); plutovg_canvas_t* kanvas = plutovg_canvas_create(permukaan); plutovg_canvas_save(kanvas); plutovg_canvas_arc(kanvas, center_x, center_y, face_radius, 0, PLUTOVG_TWO_PI, 0); plutovg_canvas_set_rgb(kanvas, 1, 1, 0); plutovg_canvas_fill_preserve(kanvas); plutovg_canvas_set_rgb(kanvas, 0, 0, 0); plutovg_canvas_set_line_width(kanvas, 5); plutovg_canvas_stroke(kanvas); plutovg_canvas_restore(kanvas); plutovg_canvas_save(kanvas); plutovg_canvas_arc(kanvas, eye_x, eye_y, eye_radius, 0, PLUTOVG_TWO_PI, 0); plutovg_canvas_arc(kanvas, center_x + eye_offset_x, eye_y, eye_radius, 0, PLUTOVG_TWO_PI, 0); plutovg_canvas_set_rgb(kanvas, 0, 0, 0); plutovg_canvas_fill(kanvas); plutovg_canvas_restore(kanvas); plutovg_canvas_save(kanvas); plutovg_canvas_arc(kanvas, center_x, center_y, mouth_radius, 0, PLUTOVG_PI, 0); plutovg_canvas_set_rgb(kanvas, 0, 0, 0); plutovg_canvas_set_line_width(kanvas, 5); plutovg_canvas_stroke(kanvas); plutovg_canvas_restore(kanvas); plutovg_surface_write_to_png(surface, "smiley.png"); plutovg_canvas_destroy(kanvas); plutovg_surface_destroy(permukaan); mulang 0; }
ngagambar 😃 teras simpen dina file smiley.png. 🙂
sumber: linux.org.ru
