11. ožujka objavljeno je prvo veće izdanje 1.0.0 biblioteke XNUMXD vektorske grafike PlutonVG, napisan u C-u i distribuiran pod licencom MIT-a. Knjižnica nema ovisnosti o trećim stranama.
Značajke knjižnice:
- stilovi crtanja linija;
- jednobojno, gradijentno i teksturirano sjenčanje;
- fontovi i tekst;
- obrezivanje i sastav;
- transformacije;
- slike.
Knjižnica se koristi u drugim projektima autora: LunaSVG и PlutoSVG.
Promjene:
- Koristiti SemVer za numeriranje verzija.
- Dodane su makronaredbe PLUTOVG_EMPTY_POINT i PLUTOVG_EMPTY_RECT.
Šifra:
#uključi int main(void) { const int width = 150; const int visina = 150; const float center_x = širina / 2.f; const float center_y = visina / 2.f; const float radijus_lice = 70; const float mouth_radius = 50; const float radijus_oka = 10; const float eye_offset_x = 25; const float eye_offset_y = 20; const float oko_x = centar_x — pomak_oka_x; const float oko_y = centar_y — pomak_oka_y; plutovg_surface_t* površina = plutovg_surface_create(širina, visina); plutovg_canvas_t* canvas = plutovg_canvas_create(surface); plutovg_canvas_save(platno); plutovg_canvas_arc(platno, središte_x, središte_y, radijus_lice, 0, PLUTOVG_DVA_PI, 0); plutovg_canvas_set_rgb(platno, 1, 1, 0); plutovg_canvas_fill_preserve(canvas); plutovg_canvas_set_rgb(platno, 0, 0, 0); plutovg_canvas_set_line_width(platno, 5); plutovg_potez_platna(platno); plutovg_canvas_restore(platno); plutovg_canvas_save(platno); plutovg_canvas_arc(platno, oko_x, oko_y, radijus_oka, 0, PLUTOVG_DVA_PI, 0); plutovg_canvas_arc(platno, centar_x + pomak_oka_x, oko_y, radijus_oka, 0, PLUTOVG_DVA_PI, 0); plutovg_canvas_set_rgb(platno, 0, 0, 0); plutovg_ispuna_platna(platno); plutovg_canvas_restore(platno); plutovg_canvas_save(platno); plutovg_platno_luk(platno, centar_x, centar_y, radijus_usta, 0, PLUTOVG_PI, 0); plutovg_canvas_set_rgb(platno, 0, 0, 0); plutovg_canvas_set_line_width(platno, 5); plutovg_potez_platna(platno); plutovg_canvas_restore(platno); plutovg_surface_write_to_png(površina, "smajlić.png"); plutovg_platno_uništi(platno); plutovg_površina_uništi(površina); povratak 0; }
crta 😃 i sprema u datoteku smiley.png. 🙂
Izvor: linux.org.ru
