PlutoVG 1.0.0

Þann 11. mars fór fyrsta stóra útgáfan af 1.0.0 af XNUMXD vektorgrafíksafninu fram PlútóVG, skrifað í C og dreift undir MIT leyfinu. Bókasafnið hefur engin ósjálfstæði þriðja aðila.

Eiginleikar bókasafns:

  • línuteikningarstíll;
  • solid, halli og áferðarskygging;
  • leturgerðir og texti;
  • pruning og samsetning;
  • umbreytingar;
  • myndir.

Bókasafnið er notað í öðrum verkefnum höfundar: LunaSVG и PlútóSVG.

Breytingar:

  • Nota SemVer fyrir útgáfunúmerun.
  • Bætt við fjölva PLUTOVG_EMPTY_POINT og PLUTOVG_EMPTY_RECT.

Code:

#innihalda int main(void) { const int width = 150; const int hæð = 150; const flot center_x = breidd / 2.f; const flot center_y = hæð / 2.f; const float face_radius = 70; const float mouth_radius = 50; const float eye_radius = 10; const float eye_offset_x = 25; const float eye_offset_y = 20; const float eye_x = center_x — auga_jöfnun_x; const float eye_y = center_y — eye_offset_y; plutovg_surface_t* yfirborð = plutovg_surface_create(breidd, hæð); plutovg_canvas_t* canvas = plutovg_canvas_create(yfirborð); plutovg_canvas_save(strigi); plutovg_canvas_arc(strigi, miðju_x, miðju_y, andlitsradíus, 0, PLUTOVG_TWO_PI, 0); plutovg_canvas_set_rgb(strigi, 1, 1, 0); plutovg_canvas_fill_preserve(strigi); plutovg_canvas_set_rgb(strigi, 0, 0, 0); plutovg_canvas_set_line_width(strigi, 5); plutovg_canvas_stroke(strigi); plutovg_canvas_restore(strigi); plutovg_canvas_save(strigi); plutovg_canvas_arc(strigi, eye_x, eye_y, eye_radius, 0, PLUTOVG_TWO_PI, 0); plutovg_canvas_arc(strigi, center_x + eye_offset_x, eye_y, eye_radius, 0, PLUTOVG_TWO_PI, 0); plutovg_canvas_set_rgb(strigi, 0, 0, 0); plutovg_canvas_fill(strigi); plutovg_canvas_restore(strigi); plutovg_canvas_save(strigi); plutovg_canvas_arc(strigi, miðju_x, miðju_y, munnradíus, 0, PLUTOVG_PI, 0); plutovg_canvas_set_rgb(strigi, 0, 0, 0); plutovg_canvas_set_line_width(strigi, 5); plutovg_canvas_stroke(strigi); plutovg_canvas_restore(strigi); plutovg_surface_write_to_png(yfirborð, "smiley.png"); plutovg_canvas_destroy(strigi); plutovg_yfirborð_eyðileggja(yfirborð); skila 0; }

teiknar 😃 og vistar það í skránni smiley.png. 🙂

Heimild: linux.org.ru

Bæta við athugasemd