DrawBot is a powerful, free application for macOS that invites you to write Python scripts to generate two-dimensional graphics. The built-in graphics primitives support rectangles, ovals, (bezier) paths, polygons, text objects, colors, transparency and much more. You can program multi-page documents and stop-motion animations. Export formats include PDF, SVG, PNG, JPEG, TIFF, animated GIF and MP4 video.
To download the latest version of the app, go to
http://www.drawbot.com/content/download.html
DrawBot can also be installed as a Python module, the app is not required.
The easiest way is to use pip:
$ pip install git+https://github.com/typemytype/drawbot
To install it manually, follow these instructions:
download: https://github.com/typemytype/drawbot/archive/master.zip
run cd <path/where/you/have/downloaded/and/unzipped/drawBot>
run python setup.py install
import drawBot
drawBot.newDrawing()
drawBot.newPage(1000, 1000)
drawBot.rect(10, 10, 100, 100)
drawBot.saveImage("~/Desktop/aRect.png")
drawBot.endDrawing()
It is adviced to start with newDrawing()
and end with endDrawing()
, to clear the instruction stack and remove installed fonts.
Required packages:
(Most of these are available through pip
.)
- vanilla
- defcon
- defconAppKit
robofab(not used anymore)- fonttools
- pygments
- jedi
- booleanOperations
- mutatorMath
- woffTools
- compositor
- feaTools2
- ufo2svg
- PyObjC (Only if you're not building with the system Python 2.7)
- PIL (only for running tests)
Compile:
DrawBot is compiled with py2app into an application package.
cd path/To/drawBot
python setupApp.py py2app
This module only works on Mac OS as it requires PyObjC
, AppKit
, CoreText
Quartz
and more.
Required packages:
Compile:
cd path/To/drawBot
python setup.py install