프로젝트 소개

Drawlib은 "Illustration as Code"를 실현하기 위해 설계된 순수 Python 드로잉 라이브러리입니다. 드로잉 항목(좌표, 크기, 각도)과 스타일(색상, 선 두께, 글꼴)을 정의하는 Python 코드를 작성하면, 코드 실행 시 이미지가 생성됩니다. HTML과 CSS처럼 콘텐츠와 스타일을 분리하여, 많은 항목에 일관된 스타일을 적용하고 문서와 함께 일러스트레이션을 쉽게 버전 관리할 수 있습니다. 주요 기능은 다음과 같습니다: - 드로잉 항목: 아이콘(5가지 스타일의 1500개 이상 패턴), 이미지(효과 포함), 선(곡선 및 베지어를 포함한 여러 스타일), 도형(약 20가지 패턴), 텍스트(다양한 크기, 글꼴, 굵기, 주요 현지 언어 지원). - 시각적 외관을 위한 통합 Style 클래스와 테마/스타일 접근자 모듈(dtheme). - 캔버스 구성: 크기(좌표 단위), 해상도를 위한 DPI, 선택적 그리드 표시. - 정밀한 배치를 위한 정렬 제어(halign/valign). - 스마트 아트로 구현된 코드 하이라이터와 같은 고급 기능. - 많은 이미지를 빌드하기 위한 명령줄 도구(drawlib)로, CI/CD 파이프라인에서 유용합니다. 이 라이브러리는 Microsoft PowerPoint 기능에서 영감을 받아 대중적인 드로잉 기능을 구현하는 것을 목표로 합니다. 이미지를 버전 관리하고 프로그래밍 방식으로 생성해야 하는 기술 문서 및 도서에 특히 적합합니다. 설치 방법은 pip(`pip install drawlib`)를 사용합니다. 빠른 시작에서는 `from drawlib.apis import *`로 모든 API를 가져오고, `config(width=100, height=100)`으로 캔버스를 구성하며, `line()`, `circle()`, `image()`, `text()`와 같은 항목을 그리고 `save()`로 저장하는 방법을 보여줍니다. API는 기본 클래스/함수, 드로잉 함수, 스타일 클래스, 테마 접근자, 고급 클래스로 구성됩니다. 함수 인수와 스타일 클래스의 일관성을 유지하므로, 핵심 개념을 이해하면 결과를 예측할 수 있습니다. Drawlib은 또한 이미지 조작(예: 미러, 세피아)을 위한 `Dimage` 클래스를 제공하며 Pillow 이미지를 지원합니다. 문서는 drawlib.com/docs/에서 확인할 수 있습니다.