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
