PlutoVG 1.0.0

Vào ngày 11 tháng 1.0.0, bản phát hành chính thức đầu tiên của XNUMX của thư viện đồ họa vector XNUMXD đã diễn ra sao Diêm Vương, được viết bằng C và phân phối theo giấy phép MIT. Thư viện không có sự phụ thuộc của bên thứ ba.

Tính năng thư viện:

  • phong cách vẽ đường nét;
  • đổ bóng đặc, đổ bóng chuyển màu và đổ bóng có kết cấu;
  • phông chữ và văn bản;
  • cắt tỉa và thành phần;
  • sự biến đổi;
  • hình ảnh.

Thư viện được sử dụng trong các dự án khác của tác giả: LunaSVG и Sao Diêm VươngSVG.

Các thay đổi:

  • Sử dụng SemVer để đánh số phiên bản.
  • Đã thêm macro PLUTOVG_EMPTY_POINT và PLUTOVG_EMPTY_RECT.

Code:

#bao gồm int main(void) { const int chiều rộng = 150; const int chiều cao = 150; const float center_x = chiều rộng / 2.f; const float center_y = chiều cao / 2.f; const float bán kính mặt = 70; const float bán kính miệng = 50; const float bán kính mắt = 10; hằng số float độ lệch mắt x = 25; const float độ lệch mắt = 20; const float mắt_x = tâm_x — độ lệch mắt_x; const float y_mắt = y_tâm — y_bù_mắt; plutovg_surface_t* bề mặt = plutovg_surface_create(chiều rộng, chiều cao); plutovg_canvas_t* canvas = plutovg_canvas_create(bề mặt); plutovg_canvas_save(vải); plutovg_canvas_arc(canvas, tâm_x, tâm_y, bán kính mặt, 0, PLUTOVG_TWO_PI, 0); plutovg_canvas_set_rgb(vải, 1, 1, 0); plutovg_canvas_fill_preserve(vải); plutovg_canvas_set_rgb(vải, 0, 0, 0); plutovg_canvas_set_line_width(vải, 5); plutovg_canvas_stroke(vải); plutovg_canvas_restore(vải); plutovg_canvas_save(vải); plutovg_canvas_arc(canvas, mắt_x, mắt_y, bán kính mắt, 0, PLUTOVG_TWO_PI, 0); plutovg_canvas_arc(canvas, tâm_x + độ lệch mắt_x, mắt_y, bán kính mắt, 0, PLUTOVG_TWO_PI, 0); plutovg_canvas_set_rgb(vải, 0, 0, 0); plutovg_canvas_fill(vải); plutovg_canvas_restore(vải); plutovg_canvas_save(vải); plutovg_canvas_arc(canvas, tâm_x, tâm_y, bán kính miệng, 0, PLUTOVG_PI, 0); plutovg_canvas_set_rgb(vải, 0, 0, 0); plutovg_canvas_set_line_width(vải, 5); plutovg_canvas_stroke(vải); plutovg_canvas_restore(vải); plutovg_surface_write_to_png(bề mặt, "smiley.png"); plutovg_canvas_destroy(vải); plutovg_surface_destroy(bề mặt); trả về 0; }

vẽ 😃 và lưu vào tệp smiley.png. 🙂

Nguồn: linux.org.ru

Thêm một lời nhận xét